[英]How to Use a Shell Script to Modify the job.properties file and run an Oozie script?
我有一个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
文件,该参数将传递给工作流程。
做这个的最好方式是什么?
如果我对您的理解正确,那么您可以拥有一个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工作流程。
它能回答您的问题吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.