2014-01-25 86 views
1

我有一個Oozie的工作流程基本上如何使用Shell腳本修改job.properties文件並運行Oozie腳本?

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

我希望能夠運行一個shell腳本的傳遞,其中在Sqoop行動使用條款。

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

我想這一個參數傳遞到job.properties文件中配置它被傳遞到工作流程的Oozie的Sqoop參數。

這樣做的最好方法是什麼?

回答

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

它回答你的問題嗎?