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

Airflow: Creating a DAG in airflow via UI

请Airflow老手帮忙,

我正在寻找 cron 的替代品并遇到了 apache airflow。

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

我们的用户混杂在一起,他们可能不知道如何编写 DAG python 文件。此外,他们可能无法访问气流为 运行.

的服务器

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

例如,Rundeck 允许用户通过 UI 添加工作流和任务依赖项。 airflow中有没有类似这样的plugin/functionality

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

我认为没有开箱即用的解决方案。我会尝试你的任务是组合:CWL(Common Workflow Language), Airflow, Rabix Composer

因此,CWL 只是一个规范,您可以使用类似 YAML 的语法来描述您的工作流程。

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

Rabix Composer UI/graphical CWL 编辑器。

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

https://github.com/timkpaine/paperboy

使用 Airflow Variable 模型,它可以做到。

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

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

那就完成了。

最近使用airflow和dag with user viable针对不同的场景做了很多不同类型的异常值检测dag。工作顺利。

希望以上经验对您有所帮助

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

看起来很有希望。

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

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