如何在 oozie 中将 pig 选项作为参数传递?
Posted
技术标签:
【中文标题】如何在 oozie 中将 pig 选项作为参数传递?【英文标题】:How to pass pig option as parameter in oozie? 【发布时间】:2015-09-30 13:55:56 【问题描述】:为了执行我的猪脚本,我需要关闭优化器。在命令行和脚本中使用以下命令可以正常工作。
pig -t ColumnMapKeyPrune population.pig
如何在oozie中传递这个选项?
我尝试作为参数传递。
<action>
<pig>
<job-tracker>$jobTracker</job-tracker>
<name-node>$nameNode</name-node>
<script>Population.pig</script>
<argument>-t</argument>
<argument>ColumnMapKeyPrune</argument>
<param>piggybankJar=$piggybankJar</param>
<param>datafuJar=$datafuJar</param>
<param>inputPath=$inputPath</param>
<param>outputPath=$outputPath</param>
</pig>
</action>
收到以下错误:
E0701: XML schema error, cvc-complex-type.2.4.a: Invalid content was found starting with element 'param'. One of '"uri:oozie:workflow:0.4":argument, "uri:oozie:workflow:0.4":file, "uri:oozie:workflow:0.4":archive' is expected.
尝试使用参数,但没有成功
<action>
<pig>
<job-tracker>$jobTracker</job-tracker>
<name-node>$nameNode</name-node>
<script>Population.pig</script>
<param>-t</param>
<param>ColumnMapKeyPrune</param>
<param>piggybankJar=$piggybankJar</param>
<param>datafuJar=$datafuJar</param>
<param>inputPath=$inputPath</param>
<param>outputPath=$outputPath</param>
</pig>
</action>
对于 pig oozie 动作只允许参数、存档、文件和参数标签。如何传递这个 optimizer_off 选项?
【问题讨论】:
【参考方案1】:在您的猪脚本中设置下面提到的属性并尝试一次。
设置 pig.optimizer.rules.disabled 'ColumnMapKeyPrune';
供参考,请通过下面提到的链接
[http://pig.apache.org/docs/r0.14.0/perf.html#optimization-rules]
【讨论】:
以上是关于如何在 oozie 中将 pig 选项作为参数传递?的主要内容,如果未能解决你的问题,请参考以下文章