我需要将一些数据从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"
属性?
答案 0 :(得分:0)
除了hive表,你可以使用hcatalog表,但是你必须给出target-dir位置。
答案 1 :(得分:0)
您需要在HDFS中具有写入权限才能导入数据。大多数情况下,hdfs:/// tmp /目录将具有对所有用户的写访问权。将其用作目标目录并运行命令。