pig oozie工作流不执行自定义项

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

我试图通过oozie执行包含自定义项的pig脚本,并将结果存储到postgress表中。使用oozie时,脚本会成功执行,但不会在postgress中生成所需的数据。日志会显示此警告
2015-08-18 12:05:44709[main]warn org.apache.pig.tools.pigstats.jobstats-找不到输出文件java.io.filenotfoundexception:文件hdfs://:8020/user/oozie/word\u cnt不存在。
试错后发现,如果在每个“store”后面加上dump语句,数据就可以成功地存储在postgress中。

ut6juiuv

ut6juiuv1#

如果我没有错的话,workflow.xml似乎缺少一些值{jobtracker}{namenode}。
sampleworkflow.xml如下

<action name="pigActionForData">
<pig>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.compress.map.output</name>
<value>true</value>
</property>
<property>
<name>oozie.launcher.mapred.job.queue.name</name>
<value>default</value>
</property>
<property>
<name>mapred.job.queue.name</name>
<value>default</value>
</property>
</configuration>
<script>PigScript.pig</script>
<argument>-param</argument>
<argument>PigInput=/HDFS/LOCATION/FOR/PIG/ONLY/REFERENCE</argument>
</pig>
<ok to="end"/>
<error to="pigActionForDataFailed"/>
</action>
<kill name="pigActionForDataFailed">
<message>Pig Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>

你们都可以直接提到
{jobtracker}=“作业跟踪器\u ip:端口”
{namenode}='hdfs://namenode_ip:端口“

相关问题