如何使用Shell脚本修改job.properties文件并运行Oozie脚本?

时间:2014-01-25 22:55:05

标签: shell hadoop hdfs oozie

我的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文件,该参数将传递给工作流程。

这样做的最佳方式是什么?

1 个答案:

答案 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工作流程。

它能回答你的问题吗?