【问题标题】:Airflow: Creating a DAG in airflow via UIAirflow:通过 UI 在气流中创建 DAG
【发布时间】:2018-08-05 19:19:01
【问题描述】:

请气流老手帮忙,

我正在寻找一个 cron 替代品,但遇到了 apache 气流。

我们有一个设置,多个用户应该能够创建自己的 DAG 并安排他们的作业。

我们的用户是一群可能不知道如何编写 DAG python 文件的人。此外,他们可能无法访问运行气流的服务器。

是否可以通过 UI 创建气流 DAG。我找不到任何相同的参考。所有示例都谈到创建 python 文件并将其上传到 $AIRFLOW_HOME/dag/ 目录。用户将无权访问此目录。

例如,Rundeck 允许用户通过 UI 添加工作流和任务依赖项。气流中是否有类似的插件/功能。

PS:我真的很喜欢气流显示依赖关系图的方式,并想尝试一下。但是,如果创建 DAG 如此复杂,那么对于我的许多最终用户来说,这将是一个主要问题。

【问题讨论】:

    标签: airflow airflow-scheduler


    【解决方案1】:

    我认为没有现成的解决方案。我会尝试与您的任务是组合:CWL(通用工作流语言),气流,Rabix Composer

    所以,CWL 只是一个规范,您可以像语法一样用 YAML 描述您的工作流程。

    有一个包pip3 install cwl-airflow可以将CWL解析成Airflow DAGhttps://github.com/Barski-lab/cwl-airflow

    Rabix Composer UI/图形 CWL 编辑器。

    【讨论】:

      【解决方案2】:

      我相信现在有一个: https://github.com/andreax79/airflow-code-editor

      而且看起来很有希望。

      【讨论】:

        【解决方案3】:

        有一个看起来很有趣的开源项目:

        https://github.com/timkpaine/paperboy

        【讨论】:

        【解决方案4】:

        elyra 好像可以创建气流管道(没试过):

        https://elyra.readthedocs.io/en/latest/getting_started/overview.html

        【讨论】:

          【解决方案5】:

          使用气流变量模型,它可以做到。

          第 1 步,使用用户输入定义您的 biz 模型 步骤2,在python中写入dag文件,用户输入可以通过气流变量模型读取。(键/值模式) step 3. 通过气流 xcom 模型交换任务信息。

          在生产模式下,用户在airflow web ui->admin->某个DAG的变量中输入他们的参数。(键值模式)

          然后就完成了。

          最近,我使用 airflow 和 dag 与用户可行来针对不同的场景进行许多不同类型的异常值检测 dag。工作顺利。

          希望以上经验对你有所帮助。

          【讨论】:

            猜你喜欢
            • 2018-01-14
            • 1970-01-01
            • 1970-01-01
            • 2020-07-04
            • 2020-01-25
            • 1970-01-01
            • 2022-12-13
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多