Повторное использование задач (операторов) в группах доступности баз данных - PullRequest
2 голосов
/ 20 мая 2019

Я изучаю AirFlow как механизм выполнения рабочих процессов.

Мне нравится тот факт, что он очень гибкий, допускает несколько операторов, таких как функции Python.Однако, боюсь, я могу упустить что-то фундаментальное - повторное использование задачи.Я хочу запускать существующие операторы в нескольких группах доступности баз данных без необходимости их переопределения.

Насколько я могу судить - это не поддерживается.Я ошибся?и если это так, я буду рад, если кто-то может указать мне на решение.

Единственное (неуклюжее) решение, которое приходит на ум, - это создать фиктивную группу DAG для каждого оператора, а затем создать мою группу DAG.поверх этих фиктивных DAG с DagRunOperator .

Большое спасибо!

1 Ответ

0 голосов
/ 23 мая 2019

Рекомендованным способом достижения этой цели было бы создание собственного плагина Airflow.

(из Документация по воздушным потокам для плагинов )

Воздушный поток имеетвстроенный простой менеджер плагинов, который может интегрировать внешние функции в свое ядро, просто перетаскивая файлы в папку $ AIRFLOW_HOME / plugins.

Импортируются модули python в папке плагинов, а также перехватываются операторы, датчики, макросы, исполнители и веб-представления интегрируются в основные коллекции Airflow и становятся доступными для использования.

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

Этот репозиторий также может быть полезен, поскольку содержит довольно много примеров плагинов Airflow: https://github.com/airflow-plugins

...