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

如何使用Shell脚本修改job.properties文件并运行Oozie脚本?,shell,hadoop,hdfs,oozie,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(...)" /run.sh“出生日期

我有一个Oozie工作流

1. Sqoops from Oracle to HDFS
2. Runs MapReduce on the Data
3...
我希望能够运行shell脚本来传递where子句,以便在Sqoop操作中使用

./run.sh "birth_date < TO_DATE(...)"
/run.sh“出生日期<截止日期(…)”
我希望它将一个参数传递给配置Oozie Sqoop参数的
job.properties
文件,该参数将传递给工作流


执行此操作的最佳方法是什么?

如果我理解正确,您可以拥有一个
作业.properties\u模板
文件,其中有一行,如

sqoop-where-arg=WHERE_PLACEHOLDER
然后在
run.sh
脚本中,您只需替换占位符并生成实际的job.properties文件:

sed "s/WHERE_PLACEHOLDER/$1/" < job.properties_template > job.properties
sed“s/WHERE\u占位符/$1/”job.properties
然后,您可以使用新生成的
job.properties
文件运行Oozie工作流

它回答了你的问题吗