我仍在部署过程中Airflow,我已经感觉到需要将 operators合并在一起。最常见的用例是将运算符和相应的sensor. 例如,人们可能希望将EmrStepOperator和链接在一起EmrStepSensor。
我正在DAG以编程方式创建我的s ,其中最大的一个包含 150 多个(相同的)分支,每个分支对不同的数据位(表)执行相同的一系列操作。因此,将构成DAG 中单个逻辑步骤的任务放在一起会很有帮助。
以下是我项目中的 2 个相互竞争的例子,为我的论点提供动力。
1.从S3路径删除数据然后写入新数据
此步骤包括 2 个操作员
DeleteS3PathOperator: 扩展自BaseOperator& 使用S3HookHadoopDistcpOperator: 从 SSHOperator2. 有条件地MSCK REPAIR在Hive桌子上表演
这一步包含4个操作符
BranchPythonOperator: 检查 Hive 表是否分区MsckRepairOperator:从扩展HiveOperator和执行MSCK上(REPAIR进行分配)表Dummy(Branch)Operator:使向上交替的分支路径,以MsckRepairOperator(对于非分区表)Dummy(Join)Operator: …airflow ×1