Случай использования фиктивного оператора

Я изучал apache airflow и обнаружил, что есть оператор под названием DummyOperator. Я погуглил по поводу его варианта использования, но не смог найти ничего, что смогу понять. Может кто-нибудь здесь, пожалуйста, обсудите его вариант использования?

1 ответ

Оператор, который буквально ничего не делает. Его можно использовать для группировки задач в группе обеспечения доступности баз данных.

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

насколько я знаю, как минимум два случая:

  • цель теста. в dags, фиктивная операция между восходящим и нисходящим потоком, позже вы можете заменить истинный оператор.
  • Цель рабочего процесса: BranchPythonOperator работает с DummyOperator. Если вы хотите пропустить некоторые задачи, имейте в виду, что у вас не может быть пустого пути, если это так, создайте фиктивную задачу. https://airflow.apache.org/concepts.html

Dummy _operator используется в BranchPythonOperator, где мы решаем следующую задачу на основе некоторого условия.

Например:

                  -> task C->task D

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

Итак, предположим, что у нас есть какое-то условие в задаче B, которое решает, следовать ли [задача C-> задача D] или задаче E(пустышка), чтобы достичь задачи F.

Поскольку мы не можем оставить условие else пустым, мы должны установить фиктивный оператор, который ничего не делает, просто пропускает или обходит.

Другой вариант использования: я реализовал фреймворк, который возвращает оператор. В большинстве случаев это PostgresOperator, но при определенной пользователем конфигурации нет SQL для запуска, но вызывающий по-прежнему ожидает оператора, поэтому я возвращаю DummyOperator, а не PostgresOperator с тривиальным SQL, например "select 1;".

Другие вопросы по тегам