带查询子句

时间:2017-12-20 16:23:34

标签: oracle hive hdfs sqoop

我需要将一些数据从Oracle移动到Hive,我发现Sqoop可能是一个有用的工具。 问题是我需要处理查询并将结果插入目标数据库中的表中。

Oracle功能结果 - > HiveDB.myTable

我找到了这个命令:

sqoop import --connect jdbc:oracle:thin:@******:1522/**
--username myUsername --password pwd --query '...' 
--hive-import --split-by "myID" --hive-table "hive-table" --hive-database "hive-database"

但我需要指定一个--target-dir强制性,我没有HDFS的写权限。

仅当我使用--query时才会这样,因为如果我使用--table,则不需要--target-dir

任何人都知道是否有办法使用查询来避免"--target-dir"属性?

2 个答案:

答案 0 :(得分:0)

除了hive表,你可以使用hcatalog表,但是你必须给出target-dir位置。

答案 1 :(得分:0)

您需要在HDFS中具有写入权限才能导入数据。大多数情况下,hdfs:/// tmp /目录将具有对所有用户的写访问权。将其用作目标目录并运行命令。