Настройте воздушный поток для нескольких сред - PullRequest
0 голосов
/ 20 ноября 2018

Какой идиоматический способ настройки Airflow, так что если у вас есть две среды, такие как Production-East и Production-West, отображаются только помехи от каждой из этих сред, но они могут жить в одном репозитории?

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Идеальный способ достичь этого - использовать именованные очереди.Настройте несколько рабочих, некоторые из которых работают в среде Production-East, а некоторые - в среде Production-West.Таким образом, обе группы обеспечения доступности баз данных отображаются в пользовательском интерфейсе, но выполняются только на рабочих машинах, на которых установлена ​​эта конкретная среда.

Из документации для очередей :

Когдаиспользуя CeleryExecutor, можно указать очереди сельдерея, в которые отправляются задачи.Очередь является атрибутом BaseOperator, поэтому любая задача может быть назначена любой очереди.Очередь по умолчанию для среды определена в airflow.cfg celery -> default_queue.Это определяет очередь, которой назначаются задачи, если она не указана, а также очередь, которую слушатели Airflow слушают при запуске.

Рабочие могут прослушивать одну или несколько очередей задач.Когда рабочий запускается (с помощью команды airflow worker), можно указать набор имен очередей, разделенных запятыми (например, airflow worker -q spark).Затем этот работник будет выбирать только задачи, связанные с указанными очередями.

Это может быть полезно, если вам нужны специализированные работники, либо с точки зрения ресурсов (например, для очень легких задач, когда один работник может занять тысячизадач без проблем) или с точки зрения среды (вы хотите, чтобы работник работал из самого кластера Spark, потому что ему нужна очень специфическая среда и права безопасности).

0 голосов
/ 21 ноября 2018

Поместите файлы для каждой группы в подпапку, а затем установите путь dags_folder, чтобы указать на соответствующую подпапку для сервера.

...