我能够成功地运行sqoop导出
sqoop export --connection-param-file /user/xgr0naru/sqoop.properties --connect jdbc:oracle:thin:@//XXx --用户名xx --密码xx --表导出目录/data/raw/oltp/cogen/oraclexport/TZ5CK/2015-08-18/ --输入字段终止于'\001‘--行终止于'\n’--输入转义为'\"‘--输入可选地包含于'\"’\“‘中’\”‘
路径/user/xgr0naru/sqoop.properties是本地路径,hdfs路径在此处不起作用
但同样的sqoop导出操作,我需要包含在oozie中,因此路径应该在hdfs路径中,那么我如何使用hdfs路径--connection-param-file,而且当我使用-D oracle.jdbc.mapDateToTimestamp=false时,它不起作用,但使用--connection-param-file可以。
发布于 2016-02-23 04:49:59
是。
选项文件可以是hdfs (如果您正在运行计划的Oozie作业,这是有意义的)。oozie的诀窍是还使用<file>标记指定文件。
例如,从workflow.xml:
...
<command>--options-file sqoop_params.txt --connection-param-file sqoop_connect_params.txt --password-file sqoop_pwd.txt --target-dir ${someDir}/input-data/sqoop</command>
<file>sqoop_params.txt</file>
<file>sqoop_connect_params.txt</file>
<file>sqoop_pwd.txt</file>
...确保将配置文件(sqoop_params.txt、sqoop_connect_params.txt)放在Oozie目录中,这是appRoot默认读取它们的位置。但是,密码文件必须位于您的用户根HDFS目录中。正如我所发现的,Oozie设置可能是一个皮塔。
我尝试指定整个hdfs路径,但在4.2.0上失败(可能是oozie中的一个bug,不确定)。
https://stackoverflow.com/questions/32584543
复制相似问题