gpt4 book ai didi

hadoop - 设置协调器oozie文件不存在报错如何解决

转载 作者:可可西里 更新时间:2023-11-01 16:49:05 27 4
gpt4 key购买 nike

设置coordinator oozie时错误文件不存在的解决方法:

我在日志协调器中有错误:

Pig 日志文件转储:

后端错误信息

错误:java.io.FileNotFoundException:文件不存在:/user/hdfs/jay/part-0.tmp

设置协调器:

<coordinator-app name="tes-ng" frequency="${coord:minutes(15)}"
start="2015-12-07T10:30+0700" end="2017-02-28T23:00+0700" timezone="Asia/Jakarta"
xmlns="uri:oozie:coordinator:0.1" xmlns:sla="uri:oozie:sla:0.1">
<controls>
<execution>LAST_ONLY</execution>
</controls>
<datasets>
<dataset name="INPUT_DS" frequency="${coord:minutes(15)}"
initial-instance="2015-02-16T016:00+0700" timezone="Asia/Jakarta">
<uri-template>${nameNode}/user/hdfs/jay/${YEAR}/${MONTH}/${DAY}/${HOUR}${MINUTE}
</uri-template>
<done-flag></done-flag>
</dataset>
<dataset name="OUTPUT_DS" frequency="${coord:minutes(15)}"
initial-instance="2015-02-16T16:00+0700" timezone="Asia/Jakarta">
<uri-template>${nameNode}/user/hdfs/jay/output</uri-template>
<done-flag></done-flag>
</dataset>
</datasets>
<input-events>
<data-in name="INPUT" dataset="INPUT_DS">
<instance>${coord:current(-2)}</instance>
</data-in>
</input-events>
<output-events>
<data-out name="OUTPUT" dataset="OUTPUT_DS">
<instance>${coord:current(-2)}</instance>
</data-out>
</output-events>
<action>
<workflow>
<app-path>${appFolder}</app-path>
<configuration>
<property>
<name>INPUT</name>
<value>${coord:dataIn('INPUT')}</value>
</property>
<property>
<name>OUTPUT</name>
<value>${coord:dataOut('OUTPUT')}</value>
</property>
</configuration>
</workflow>
</action>

我想要的是当我收到错误文件不存在时,oozie 可以保持直到文件准备就绪。任何想法..??

谢谢。

最佳答案

执行此操作的常用方法是具有适当的数据依赖性。创建输入数据的过程会创建一个文件,表明数据存在(例如 _SUCCESS)。如果您在输入数据集中定义了 a(例如 _SUCCESS),Oozie 将定期检查此文件是否存在,并且仅在可用时才启动工作流。

<dataset name="INPUT_DS" frequency="${coord:minutes(15)}"
initial-instance="2015-02-16T016:00+0700" timezone="Asia/Jakarta">
<uri-template>${nameNode}/user/hdfs/jay/${YEAR}/${MONTH}/${DAY}/${HOUR}${MINUTE}
</uri-template>
<done-flag>_SUCCESS</done-flag>
</dataset>

如果你不能有这样的标志,那么 AFAIK 唯一的选择是编写你自己的输入数据检查并将其插入 Oozie(我看到有人为 Hive 分区这样做)。

您还应该仔细检查初始实例值,因为您似乎已经在其中放置了一个偏移量,然后在其顶部指定了 timezone=Asia/Jakarta

关于hadoop - 设置协调器oozie文件不存在报错如何解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34310152/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com