Воздушный поток + сельдерей или напиток. Для чего, когда?
Я прочитал в официальной документации Airflow следующее:
Что это значит точно? Что авторы подразумевают под масштабированием? То есть, когда недостаточно использовать Airflow или когда кто-нибудь будет использовать Airflow в сочетании с чем-то вроде сельдерея? (то же самое для dask
)
3 ответа
В терминологии Airflow "Исполнитель" является компонентом, отвечающим за выполнение вашей задачи. LocalExecutor
делает это, порождая потоки на компьютере, на котором работает Airflow и позволяет потоку выполнить задачу.
Естественно, ваша емкость ограничивается доступными ресурсами на локальном компьютере. CeleryExecutor
распределяет нагрузку на несколько машин. Сам исполнитель публикует запрос на выполнение задачи в очереди, и один из нескольких рабочих узлов принимает запрос и выполняет его. Теперь вы можете масштабировать кластер рабочих узлов для увеличения общей емкости.
Наконец, и еще не готов, есть KubernetesExecutor
в работах ( ссылка). Это будет запускать задачи в кластере Kubernetes. Это не только обеспечит полную изоляцию ваших задач, так как они выполняются в контейнерах, вы также можете использовать существующие возможности в Kubernetes, например, для автоматического масштабирования вашего кластера, чтобы у вас всегда было оптимальное количество доступных ресурсов.
Возможно, вам понравится это сравнение dask с менеджерами задач сельдерея / воздушного потока http://matthewrocklin.com/blog/work/2016/09/13/dask-and-celery
Поскольку вы не задаете конкретный вопрос, такое общее чтение должно быть информативным, и, возможно, вы сможете уточнить, что вам нужно.
Следуя ответу @mdurant, вот учебник, который я написал с 3 примерами DAG Airflow, которые используют Dask. Надеюсь, это даст вам некоторое представление о том, когда и как использовать Dask вместе с Airflow.