우리는수 없습니다 "error_error는 ..."예외
는 HDFS 위치
user/hive/warehouse/orders/
MySQL에서 테이블을 수입, 아래의 단계를 따라했습니다 테이블 스키마mysql> describe orders; +-------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+-------------+------+-----+---------+-------+ | order_id | int(11) | YES | | NULL | | | order_date | varchar(30) | YES | | NULL | | | order_customer_id | int(11) | YES | | NULL | | | order_items | varchar(30) | YES | | NULL | | +-------------------+-------------+------+-----+---------+-------+
(1)과 동일한 데이터를 사용하여 하이브에 외부 테이블을 만들었습니다.
CREATE EXTERNAL TABLE orders ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat' LOCATION 'hdfs:///user/hive/warehouse/retail_stage.db/orders' TBLPROPERTIES ('avro.schema.url'='hdfs://host_name//tmp/sqoop-cloudera/compile/bb8e849c53ab9ceb0ddec7441115125d/orders.avsc');
Sqoop을 명령 :
sqoop import \ --connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \ --username=root \ --password=cloudera \ --table orders \ --target-dir /user/hive/warehouse/retail_stage.db/orders \ --as-avrodatafile \ --split-by order_id
오류를 반환 많은 조합을 시도했지만 실패, 형식의 주문을 설명하십시오.
hive> describe orders; OK error_error_error_error_error_error_error string from deserializer cannot_determine_schema string from deserializer check string from deserializer schema string from deserializer url string from deserializer and string from deserializer literal string from deserializer Time taken: 1.15 seconds, Fetched: 7 row(s)
같은 일이 --as-avrodatafile
의 경우 오류를 던지고로 --as-textfile
, 어디에서 일했다.
일부 스택 오버플로를 참조했지만 해결할 수 없었습니다. 어떤 생각?