使用sqoop时,导入可以传递java属性。就我而言,我需要通过
-Doraoop.oracle.rac.service.name=myservice
和一个 --direct
使用sqoop直接连接到oracle rac。
现在我需要用相同的参数创建一个sqoop作业,但是当我尝试发出
sqoop job --create myjob -- import -Doraoop.oracle.rac.service.name=myservice --direct --connect...
它抱怨说
ERROR tool.BaseSqoopTool: Error parsing arguments for import:
ERROR tool.BaseSqoopTool: Unrecognized argument: -Doraoop.oracle.rac.service.name=myservice
....
不管我把枪放在哪里 -D
当使用直接的sqoop导入时,它不工作。
它的工作原理如下
sqoop job -Doraoop.oracle.rac.service.name=myservice --create myjob -- import ...
但是通过这种方式,属性将传递给当前执行,而不是后续作业执行。
有没有一种方法可以传递java属性 -D
到 sqoop job --create myjob -- import
命令?
在cdh5.5上试用sqoop1.4.6
1条答案
按热度按时间ve7v8dk21#
根据sqoop文件,
sqoop job命令的语法:
现在
-D
是泛型arg和--create myjob
是作业参数所以你必须使用如下命令:
对于当前和所有后续作业执行,它的行为方式应该相同。
使用以下方法检查作业的配置:
检查是否在第一次执行和后续执行中发现任何差异。