data disapear import sqoop hive oracle



我想要连接到数据库并将数据从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 中的表已创建但为空......我不明白问题从何而来。我也没有任何错误消息...

你有什么想法吗?

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

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

最新更新