数据disapear import sqoop hive oracle

时间:2015-06-16 07:38:33

标签: oracle hive sqoop

我mamage连接到数据库并将数据从oracle导入到文件或HIVE。 但现在,我想在oracle上使用sqoop将查询中的数据导入Hive。

我之前使用过以下内容: sqoop import --connect 'jdbc:oracle:thin:@server1:1521:ICIS' -P -- username JAPHONIE --query 'SELECT * FROM CONTRACTS INNER JOIN CONTRACT_VERSIONS ON CV_CON_NUMBER = CON_NUMBER WHERE $CONDITIONS' --target-dir BOUH --split-by CON_NUMBER --where '1=1'

这个在我的文件夹BOUH中创建我的数据,这一点没有问题。

但是当我使用以下内容时:     sqoop import --connect 'jdbc:oracle:thin:@server1:1521:ICIS' -P --username JAPHONIE --query 'SELECT * FROM CONTRACTS INNER JOIN CONTRACT_VERSIONS ON CV_CON_NUMBER = CON_NUMBER WHERE $CONDITIONS' --target-dir BOUH --split-by CON_NUMBER --where '1=1' --hive-import --hive-table BOUH

我的BOUH文件夹只包含_SUCCESS,没有数据,并且HIVE中的表已创建但是空... 我不明白问题来自哪里。我也没有任何错误信息......

你知道吗?

编辑:我设法加载我的表,首先,执行第二个查询,创建没有数据的表,然后删除空文件夹并执行第一个查询,正确提取数据...但我会喜欢在一个查询中做同样的事情......

1 个答案:

答案 0 :(得分:0)

您导入的数据将保存在/ user / hive / warehouse下,因为它是一个内部配置单元表,它不会保存在您在--target-dir中提到的BOUH文件夹中。你的脚本是正确的,你应该能够在hive表中看到数据,因为你说你无法看到数据,请查看/ user / hive / warehouse文件夹一次。如果您无法查看数据,请在此处粘贴sqoop日志。