[HADOOP] 시퀀스 파일로 저장된 것을 사용하여 생성 된 하이브 테이블에 시퀀스 파일 데이터로드 실패
HADOOP시퀀스 파일로 저장된 것을 사용하여 생성 된 하이브 테이블에 시퀀스 파일 데이터로드 실패
아래 sqoop import 명령을 사용하여 MySQL에서 HDFS로 컨텐츠를 시퀀스 파일로 가져 오기
sqoop import --connect "jdbc:mysql://quickstart.cloudera:3306/retail_db"
--username retail_dba --password cloudera
--table orders
--target-dir /user/cloudera/sqoop_import_seq/orders
--as-sequencefile
--lines-terminated-by '\n' --fields-terminated-by ','
그런 다음 아래 명령을 사용하여 하이브 테이블을 만듭니다.
create table orders_seq(order_id int,order_date string,order_customer_id int,order_status string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS SEQUENCEFILE
그러나 첫 번째 명령에서 얻은 시퀀스 데이터를 아래 명령을 사용하여 하이브 테이블에로드하려고했을 때
LOAD DATA INPATH '/user/cloudera/sqoop_import_seq/orders' INTO TABLE orders_seq;
아래 오류가 발생했습니다.
Loading data to table practice.orders_seq
Failed with exception java.lang.RuntimeException: java.io.IOException: WritableName can't load class: orders
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask
내가 어디로 잘못 가고 있니?
해결법
-
==============================
1.우선, 해당 형식의 데이터가 필요합니까?
우선, 해당 형식의 데이터가 필요합니까?
해당 형식의 데이터가 있어야한다고 가정 해 봅시다. 데이터로드 명령이 필요하지 않습니다. sqoop가 데이터 가져 오기를 마치면 데이터를 sqoop하는 동일한 디렉토리를 가리키는 Hive 테이블을 작성하면됩니다.
스크립트에서 한 쪽 참고 :
create table orders_seq(order_id int,order_date string,order_customer_id int,order_status string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS SEQUENCEFILE
sqoop 명령은 다음과 같이 말합니다 : --fields-terminated-by ','그러나 테이블을 만들 때 사용중인 필드 : FIELDS TERMINATED BY '|'
내 경험상 가장 좋은 방법은 데이터를 avro로 스 as 핑하는 것입니다. 그러면 자동으로 avro-schema가 생성됩니다. 그런 다음 이전에 생성 한 스키마 (AvroSerde)와 sqooping 프로세스에서 얻은 데이터를 저장 한 위치를 사용하여 Hive 테이블을 만들어야합니다.
from https://stackoverflow.com/questions/42050548/loading-sequence-file-data-into-hive-table-created-using-stored-as-sequence-file by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hadoop에서 표준을 어떻게 볼 수 있습니까? (0) | 2019.08.18 |
---|---|
[HADOOP] 하둡 FileSplit 읽기 (0) | 2019.08.18 |
[HADOOP] 하둡 2.2.0 빌드 Ant BuildException 오류 (0) | 2019.08.18 |
[HADOOP] Hive에서 Python 스트리밍 스크립트에 매개 변수를 전달하는 방법은 무엇입니까? (0) | 2019.08.18 |
[HADOOP] Windows에 하둡 설치? (0) | 2019.08.18 |