我的Oozie工作流基本上是
1. Sqoops from Oracle to HDFS
2. Runs MapReduce on the Data
3...
我希望能够运行一个shell脚本来传入一个where子句,以便在Sqoop操作中使用。
./run.sh "birth_date < TO_DATE(...)"
我希望将参数传递给配置Oozie Sqoop参数的job.properties
文件,该参数将传递给工作流程。
这样做的最佳方式是什么?
答案 0 :(得分:0)
如果我理解正确,您可以拥有一个job.properties_template
文件,其中包含
sqoop-where-arg=WHERE_PLACEHOLDER
然后在run.sh
脚本中,您只需替换占位符并生成实际的job.properties文件:
sed "s/WHERE_PLACEHOLDER/$1/" < job.properties_template > job.properties
然后,您可以使用新生成的job.properties
文件运行Oozie工作流程。
它能回答你的问题吗?