我有一个运行时带有表t1和hadoop集群的DB2数据库。我想在hadoop中创建一个orc表,其表定义与t1相同。 对于这项任务,我想使用Sqoop。
我尝试使用sqoop create-hive-table命令,但是这个命令与hcatalog不兼容 - 而且从我发现的内容来看,hcatalog是唯一允许我创建orc表的命令。 相反,我这样做:
sqoop import \
--driver com.ibm.db2.jcc.DB2Driver \
--connect jdbc:db2://XXXXXXX \
--username user \
--password-file file:///pass.txt \
--query "select * from D1.t1 where \$CONDITIONS and reptime < '1864-11-16 13:23:54.749' fetch first 1 rows only" \
--split-by 1 \
--hcatalog-database default \
--hcatalog-table t1 \
--create-hcatalog-table \
--hcatalog-storage-stanza "stored as orcfile"
在数据库中查询不存在的somthing并创建一个orc表。当然,这不是最优的 - 有关如何使用sqoop create-hive-table执行此操作的任何想法,或者至少不需要返回任何无用的数据库查询?