Воздушный поток + сельдерей или напиток. Для чего, когда?

Я прочитал в официальной документации 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.

https://coiled.io/blog/3-airflow-dag-examples-with-dask/

Другие вопросы по тегам