[HADOOP] 시퀀스 파일로 저장된 하이브 테이블에 텍스트 파일을로드하는 방법
HADOOP시퀀스 파일로 저장된 하이브 테이블에 텍스트 파일을로드하는 방법
시퀀스 파일로 하이브 테이블을 저장했습니다.
이 테이블에 텍스트 파일을로드해야합니다. 이 테이블에 데이터를 어떻게로드합니까?
해결법
-
==============================
1.텍스트 파일 하이브 테이블에 텍스트 파일을로드 한 다음이 테이블의 데이터를 시퀀스 파일에 삽입 할 수 있습니다.
텍스트 파일 하이브 테이블에 텍스트 파일을로드 한 다음이 테이블의 데이터를 시퀀스 파일에 삽입 할 수 있습니다.
탭으로 구분 된 파일로 시작하십시오.
% cat /tmp/input.txt a b a2 b2
시퀀스 파일 만들기
hive> create table test_sq(k string, v string) stored as sequencefile;
적재하려고 노력하십시오. 예상대로이 작업은 실패합니다.
hive> load data local inpath '/tmp/input.txt' into table test_sq;
그러나이 표와 함께 :
hive> create table test_t(k string, v string) row format delimited fields terminated by '\t' stored as textfile;
로드가 잘 작동합니다.
hive> load data local inpath '/tmp/input.txt' into table test_t; OK hive> select * from test_t; OK a b a2 b2
이제 텍스트 테이블에서 시퀀스 테이블로로드 :
insert into table test_sq select * from test_t;
덮어 쓰기로로드 / 삽입을 수행하여 모두를 대체 할 수도 있습니다.
-
==============================
2.시퀀스 파일로 저장된 테이블을 직접 생성하여 텍스트를 삽입 할 수는 없습니다. 당신은 이것을해야합니다 :
시퀀스 파일로 저장된 테이블을 직접 생성하여 텍스트를 삽입 할 수는 없습니다. 당신은 이것을해야합니다 :
예:
CREATE TABLE test_txt(field1 int, field2 string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; LOAD DATA INPATH '/path/to/file.tsv' INTO TABLE test_txt; CREATE TABLE test STORED AS SEQUENCEFILE AS SELECT * FROM test_txt; DROP TABLE test_txt;
from https://stackoverflow.com/questions/14064193/how-to-load-a-text-file-into-a-hive-table-stored-as-sequence-files by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 스트리밍 데이터 및 Hadoop? (하둡 스트리밍이 아님) (0) | 2019.07.04 |
---|---|
[HADOOP] BigTable에서 OLAP을 수행 할 수 있습니까? (0) | 2019.07.04 |
[HADOOP] .NET 및 Hadoop - 내가 알아야 할 것 / 배우고 사용할 수있는 것은 무엇입니까? [닫은] (0) | 2019.07.04 |
[HADOOP] Java Coffee Cup 아이콘이 Mac OSX의 Dock에 나타나지 않도록합니다. (0) | 2019.07.04 |
[HADOOP] 큰 데이터 학습을 시작하는 책 [닫힘] (0) | 2019.07.04 |