如何在hadoop中重写coordinator.xml?

izj3ouym  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(192)

接下来的情况是:只有在“/user/task”目录中存在文件“\u success”时,才应该触发协调器,但是在创建协调器时只有一个选项“多久一次?”,因此我需要重写coordinator.xml。有人能帮我吗?接下来是coordinator.xml的内容:

<coordinator-app name="My_Coordinator"
  frequency="0 0 * * *"
  start="${start_date}" end="${end_date}" timezone="America/Los_Angeles"
  xmlns="uri:oozie:coordinator:0.2"
  >
  <controls>
    <execution>FIFO</execution>
  </controls>
  <action>
    <workflow>
      <app-path>${wf_application_path}</app-path>
      <configuration>
        <property>
          <name>oozie.use.system.libpath</name>
          <value>True</value>
        </property>
        <property>
          <name>start_date</name>
          <value>2015-11-09T22:46Z</value>
        </property>
        <property>
          <name>end_date</name>
          <value>2015-11-16T22:46Z</value>
        </property>
      </configuration>
   </workflow>
  </action>
</coordinator-app>
t5zmwmid

t5zmwmid1#

解决这个问题的方法不是更改xml文件,而是简单地使用以下bash脚本:

if ! hadoop fs -test -e /user/task/_SUCCESS; then
echo file not found
exit 1
fi
echo file found
exit 0
a11xaf1n

a11xaf1n2#

您应该在协调器配置中声明一个数据集:

<datasets>
    <dataset name="some-name" frequency="${coord:days(1)}" initial-instance="..." timezone="...">
        <uri-template>
            ...
        </uri-template>
    </dataset>
</datasets>

工作流程将每天运行。
有关数据集的详细信息。

相关问题