气流:通过UI在气流中创建DAG

时间:2018-02-26 10:51:22

标签: airflow airflow-scheduler

气流老兵请帮忙,

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

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

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

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

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

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

4 个答案:

答案 0 :(得分:6)

我认为没有开箱即用的解决方案。我将尝试的任务是组合:CWL(通用工作流语言),Airflow,Rabix Composer

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

有一个包pip3.6 install cwl-airflow-parser它可以将CWL解析为Airflow DAG。

Rabix Composer UI /图形CWL编辑器。

答案 1 :(得分:1)

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

https://github.com/timkpaine/paperboy

答案 2 :(得分:1)

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

看起来很有希望。

enter image description here

答案 3 :(得分:0)

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

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

在生产模式下,用户在气流Web ui-> admin->某些DAG变量中输入其参数。(键值模式)

然后完成。

最近,我在用户可行的情况下使用气流和dag来针对不同情况进行很多不同类型的离群值检测dag。工作顺利。

希望以上经验可以为您提供帮助。