Hive 如何使用sqoop命令中的查询将数据从Oracle导入配置单元表

Hive 如何使用sqoop命令中的查询将数据从Oracle导入配置单元表,hive,sqoop,Hive,Sqoop,我在Oracle中有一个特殊的查询 选择count*from call.call\u IVR\u DETAIL\u FACT其中customer\u key IN从EDW中选择不同的customer\u key.WORK\u ORDER\u DAILY\u FACT其中WO\u CHECKED\u DT\u key在'20141001'和'20141031'之间,WO\u TYPE\u key='7'和OFFICE\u FLAG\u key'2'之间,TIME\u key在'01-10-14'之

我在Oracle中有一个特殊的查询

选择count*from call.call\u IVR\u DETAIL\u FACT其中customer\u key IN从EDW中选择不同的customer\u key.WORK\u ORDER\u DAILY\u FACT其中WO\u CHECKED\u DT\u key在'20141001'和'20141031'之间,WO\u TYPE\u key='7'和OFFICE\u FLAG\u key'2'之间,TIME\u key在'01-10-14'之间

我需要将此查询的结果从Oracle导入配置单元表

我的sqoop命令如下

sqoop导入-连接“xxxx”-用户名xxx密码xxxx查询“从呼叫中选择*。呼叫\u IVR\u详细信息\u事实中的客户\u键从EDW中选择不同的客户\u键。工作\u订单\u每日\u事实中的客户\u键在“20141001”和“20141031”之间,WO类型\u键=“7”和仅办公室\u标志\u键“2”和时间\u键在“01-10-14”和“01-10-14”之间“2014年10月31日”和$CONDITIONS'-M1-蜂箱导入-蜂箱表调用\u IVR\u详细信息\u事实-目标目录/apps/hive/warehouse/CALL\u IVR\u详细信息\u事实

我得到以下错误:

ERROR manager.SqlManager:执行语句时出错:java.sql.SQLSyntaxErrorException:ORA-00904:OCT:标识符无效

java.sql.SQLSyntaxErrorException:ORA-00904:OCT:无效标识符

我插入的查询是否正确

我应该换什么

任何帮助都会很好

阅读:

在当前版本的Sqoop中使用自由形式查询的功能仅限于简单查询,其中where子句中没有不明确的投影和OR条件。使用复杂查询(例如具有子查询或联接的查询)会导致不明确的投影,这可能会导致意外的结果


您的自由形式查询似乎缺少WHERE子句中的$CONDITIONS。另外,对于Sqoop来说,它可能有点太复杂,无法管理。

看起来像是日期格式的问题,在oracle中运行第一个查询时是否会获得记录?