#google-cloud-platform #airflow #airflow-scheduler
#google-cloud-platform #воздушный поток #airflow-планировщик
Вопрос:
У меня есть несколько баз данных, созданных в Airflow . но я хочу запустить их все через какой-нибудь общий модуль или DAG.Можем ли мы создать рабочий процесс, подобный Azkaban, чтобы все вызываемые базы данных были перечислены в этом потоке.
Ответ №1:
- Вы можете создать,
DAG
который запускает другиеDAG
с помощьюTriggerDagRunOperator
, передавая ихdag_id
и другие соответствующие аргументы - Источник оператора можно найти в
dagrun_operator.py
Также я предлагаю вам ознакомиться с разделом документов «Планирование и триггеры«
Ответ №2:
Вы можете использовать SubDagOperator.
- Основная база данных видит все вложенные теги и управляет ими как обычными задачами
- в графическом интерфейсе администратора Airflow в списке основных баз данных отображается только основная база данных, после чего можно будет «увеличить» вложенную базу данных в разделе просмотра графика графического интерфейса пользователя.
- Мы можем управлять всеми базами данных, используя его основную базу данных или каждую вспомогательную базу данных отдельно, выбрав опцию увеличения
вот пример для оператора: https://github.com/apache/airflow/blob/master/airflow/example_dags/example_subdag_operator.py
Я рекомендовал использовать общий коэффициент dag для создания всех вложенных баз данных, если все они имеют одинаковый шаблон и рабочий процесс.