目前通过Sqoop从Hive的parquet推数据到关系型数据库时,会报kitesdk找不到文件的错,这是Sqoop的BUG,错误信息如下:
ERROR sqoop.Sqoop: Got exception running Sqoop: org.kitesdk.data.DatasetNotFoundException: Descriptor location does not exist: hdfs://XXX/.metadata
一般默认的导数用法是方式一,但是由于sqoop的bug,只能通过方式二使用hcatlog的方式解决。
方式一:
sqoop export \
--connect jdbc:mysql://hostname:3306/schema \
--username singeek \
--password *** \
--table xxx \
--input-fields-terminated-by '\001' \
--export-dir /apps/hive/warehouse/ods.db/xxx
方式二:
sqoop export \
--connect jdbc:mysql://hostname:3306/schema \
--username singeek \
--password *** \
--table xxx \
--input-fields-terminated-by '\001' \
--hcatalog-database xxx \
--hcatalog-table xxx \
--hcatalog-partition-keys ppi \
--hcatalog-partition-values 20181104