虚拟运算符的用例

时间:2019-08-13 15:43:44

标签: airflow airflow-operator

我正在学习Apache气流,发现有一个叫做DummyOperator的操作员。我在Google上搜索了它的用例,但找不到我能理解的任何东西。这里有人可以讨论其用例吗?

3 个答案:

答案 0 :(得分:2)

  

实际上什么也不做的运算符。可用于将任务分组   一个DAG。

https://airflow.apache.org/_api/airflow/operators/dummy_operator/index.html

据我所知,至少有两种情况:

  • 测试目的。在dags中,虚拟操作仅在上游和 下游,稍后,您可以替换true运算符。
  • 工作流程的目的:BranchPythonOperator与DummyOperator一起使用。如果您想跳过一些任务,请记住,您不能 空路径,如果需要,请执行虚拟任务https://airflow.apache.org/concepts.html#workflows

答案 1 :(得分:2)

dummy_operator用于BranchPythonOperator中,我们根据某些条件决定下一个任务。

例如:

                  -> task C->task D

 task A -> task B                      -> task F
                   ->  task E(Dummy)

因此,假设任务B中存在一些条件,该条件决定是遵循[任务C->任务D]还是遵循任务E(虚拟)到达任务F。

由于我们不能将其他条件保留为空,因此我们必须将虚拟操作符放进去,该操作符不会跳过或绕过任何操作。

答案 2 :(得分:1)

另一个用例:我已经实现了一个返回操作员的框架。在大多数情况下,这是一个PostgresOperator,但是在某些用户指定的配置下,没有SQL可以运行,但是调用方仍然希望有一个Operator,因此我返回了DummyOperator而不是带有琐碎SQL的PostgresOperator,例如“ select 1;”。