【问题标题】:Having Oozie Coordinator retrigger a workflow based off an updated dataset让 Oozie 协调器根据更新的数据集重新触发工作流
【发布时间】:2016-01-12 12:28:46
【问题描述】:

我目前有一个依赖于数据集的 Oozie 协调器。数据集已配置为在完成时创建一个 _SUCCESS 文件以触发工作流。据我了解,工作流是根据 _SUCCESS 文件的存在触发的,但我有一个用例,在相同的 _SUCCESS 更新(即时间戳更改)的情况下,我需要重新触发工作流以运行。我想知道我将如何在 Oozie 中解决这个问题。

【问题讨论】:

    标签: oozie oozie-coordinator


    【解决方案1】:

    据我了解,您更改了数据集并更新了_SUCCESS 文件。在这种情况下,我会将数据集移动到另一条路径。

    例如,您的数据集位于/user/%name%/data/2015-01-12,并且协调器已完成此数据集的工作。修改后您可以将数据集移动到/user/%name%/data/2015-01-16,协调器将在下次处理新数据集。

    【讨论】:

    • 所以在我的简单案例中,我有一个 oozie 工作,它所做的一切都是从 aws 目录到 hdfs 的 distcp。该作业有一个数据集,它将在 /data/todayDate 即 _SUCCESS 文件中生成数据。我还有另一个 oozie 工作,它会根据来自先前数据集的数据输出/输入来触发;此工作流运行一个 spark 作业。如果 distcp 工作流在今天的日期运行不止一次会发生什么?它将在同一目录中创建 _SUCCESS 文件,这很好,但我需要第二个工作流(spark)与 distcp 工作流运行相同的次数。
    • 我看到了用例。当 distcp 作业运行时,我只能提供创建具有相同路径模式但不同日期的单独数据集。之后,您可以将以前的数据集和当前数据集结合起来并做有用的工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多