带有查询子句的Sqoop

问题描述 投票:1回答:2

我需要将一些数据从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"属性?

oracle hive hdfs sqoop
2个回答
0
投票

除了hive表之外,您可以使用hcatalog表,但是您必须提供target-dir位置。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.