从yaml文件动态构建气流dag
dag-factor的Python项目详细描述
DAG工厂
dag factory是用于从yaml配置文件动态生成Apache Airflowdag的库。
安装
要安装dag factory请运行pip install dag-factory
。它需要Python3.6.0+和ApacheAirflow1.9+。
用法
在气流环境中安装dag factory之后,创建dag有两个步骤。首先,我们需要创建一个yaml配置文件。例如:
example_dag1:
default_args:
owner: 'example_owner'
start_date: 2018-01-01
schedule_interval: '0 3 * * *'
description: 'this is an example dag!'
tasks:
task_1:
operator: airflow.operators.bash_operator.BashOperator
bash_command: 'echo 1'
task_2:
operator: airflow.operators.bash_operator.BashOperator
bash_command: 'echo 2'
dependencies: [task_1]
task_3:
operator: airflow.operators.bash_operator.BashOperator
bash_command: 'echo 3'
dependencies: [task_1]
然后在气流环境中的dags文件夹中,您需要创建一个类似这样的python文件:
from airflow import DAG
import dagfactory
dag_factory = dagfactory.DagFactory("/path/to/dags/config_file.yml")
dag_factory.generate_dags(globals())
这个DAG将产生并准备在气流中运行!
优点
- 在不了解python的情况下构造dag
- 在不学习气流基本体的情况下构造DAG
- 避免重复代码
- 每个人都喜欢山药!;)
贡献
欢迎投稿!只需提交请求或github问题。