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

7xzttuei  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(348)

我有一个oozie工作流

1. Sqoops from Oracle to HDFS
2. Runs MapReduce on the Data
3...

我希望能够运行一个shell脚本来传递where子句,以便在sqoop操作中使用。

./run.sh "birth_date < TO_DATE(...)"

我想让它传递一个参数给 job.properties 配置oozie sqoop参数的文件,该参数被传递到工作流。
最好的方法是什么?

e0bqpujr

e0bqpujr1#

如果我没听错的话,你可以 job.properties_template 文件中有一行,例如

sqoop-where-arg=WHERE_PLACEHOLDER

然后在你的 run.sh 脚本您只需替换占位符并生成实际的job.properties文件:

sed "s/WHERE_PLACEHOLDER/$1/" < job.properties_template > job.properties

然后可以使用新生成的 job.properties 文件。
它能回答你的问题吗?

相关问题