Является ли Airflow подходящим для DAG, который не заботится о дате / времени выполнения? - PullRequest
0 голосов
/ 06 мая 2018

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

У меня есть ETL, который извлекает данные на S3 с версиями предыдущего узла (откуда поступают данные) в DAG. Например, вот узлы DAG:

  • ImageNet-mono
  • ImageNet-removed-red
  • ImageNet-mono-scaled-to-100x100
  • ImageNet-removed-red-scaled-to-100x100

, где ImageNet-mono - предыдущий узел ImageNet-mono-scaled-to-100x100 и где ImageNet-removed-red - предыдущий узел ImageNet-removed-red-scaled-to-100x100

Они оба преобразуют конвейер scaled-to-100x100, но производят разные данные, так как ввод отличается.

Как видите, дата не указана. Airflow хорошо подходит?

EDIT

В настоящее время график достаточно прост, чтобы им можно было управлять вручную, используя менее 10 узлов. Они не будут работать регулярно Но вместо этого, как только кто-то обновит код для узла, мне придется вручную запускать нисходящие узлы один за другим python GetImageNet.py removed-red, а затем python scale.py 100 100 ImageNet-removed-red и затем python scale.py 100 100 ImageNet-mono. Я ищу способ управления графиком с одним щелчком мыши, чтобы вызвать запуск.

1 Ответ

0 голосов
/ 07 мая 2018

Я думаю, что хорошо использовать Airflow, если вы считаете полезным использовать представление DAG. Если ваша группа обеспечения доступности баз данных не требуется выполнять по регулярному расписанию, вы можете установить расписание None вместо crontab. Затем вы можете запустить DAG через API или вручную через веб-интерфейс.

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

...