繁体   English   中英

如何使用火花协调器获取每小时计划火花工作的特定时间

[英]How to get specific hour for hourly scheduled spark job with spark coordinator

我花了一天的时间来寻找为什么我的协调员无法按预期工作并且仍然没有任何线索的原因。

我想分别运行2个Spark作业,第二个作业取决于第一个作业。 我已经完成了每小时生成_SUCCESS文件的第一项工作。 问题是当第二个作业找到其依赖项时,它得到了错误的HOUR 它总是在执行时选择00而不是小时。

这是第二部分作业依赖关系的xml部分示例

<datasets>
<dataset name="\first_job" frequency="${coord:days(1)}" initial-instance="2015-01-01T00:00Z" timezone="GMT">
  <uri-template>hdfs://nameservice1/user/user/project/first_job/success/${YEAR}${MONTH}${DAY}/${HOUR}</uri-template>
  <done-flag>_SUCCESS</done-flag>
</dataset>

这是一些日志

::CoordActionInputCheck:: Missing deps:hdfs://nameservice1/user/user/project/first_job/success/20171222/00/_SUCCESS 

请告诉我我做错了什么或错过了什么。

谢谢

您已将频率设置为frequency="${coord:days(1)}" ,这意味着您的oozie协调员仅需要在00小时触发一次作业,这就是为什么它总是寻找一天的开始时间00距您最初的实例数小时。 使用小时 EL功能

frequency="${coord:hours(1)}" 

指示协调员每小时检查一次。

另外,initial-instance设置为initial-instance="2015-01-01T00:00Z"并且频率为1天,因此它将增加1天,但小时数将为00:00Z 更改此时间以选择特定的时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM