基于Airflow REST API负载设计顺序执行的Airflow数据流水线
Airflow动态数据流水线设计方案咨询
我需要在Airflow中构建一条数据流水线:从数据源读取数据,按顺序执行多步数据操作后输出文件。
REST API请求示例1负载
{ "inputFileLocation": "[input s3 key]", "outputFileLocation": "[output s3 key]", "args": { 1: {"operation": "add", "column": "A", "param": 5}, 2: {"operation": "log", "column": "B", "param": 5, "base": 10}, 3: {"operation": "factorial", "column": "C"} } }
(对应示例1流程图)
REST API请求示例2负载
{ "inputFileLocation": "[input s3 key]", "outputFileLocation": "[output s3 key]", "args": { 1: {"operation": "factorial", "column": "A"}, 2: {"operation": "log", "column": "B", "param": 5, "base": 10} } }
(对应示例2流程图)
已尝试的可行方案及存在问题
- 基于
args数量创建动态任务:此设计的缺陷是旧DAG运行会被最新DAG结构覆盖,故障时无法调试历史运行记录。 - 定义静态任务并通过分支循环执行:此设计的缺陷是无法保留顺序流水线的图形化展示,且不符合有向无环图特性(对应分支流程图)。
由于任务执行序列的图形化展示、旧DAG运行的准确状态这两点至关重要,目前陷入困境,不确定Task Groups或拆分多DAG是否能解决问题,希望得到设计方案建议。
内容的提问来源于stack exchange,提问作者user1717876
相关产品推荐
相关产品推荐

