Apache Airflow — это платформа управления рабочими процессами с открытым исходным кодом для конвейеров инженерии данных. Она появилась в Airbnb в октябре 2014 года [2] как решение для управления все более сложными рабочими процессами компании. Создание Airflow позволило Airbnb программно создавать и планировать свои рабочие процессы и контролировать их с помощью встроенного пользовательского интерфейса Airflow . [3] [4] С самого начала проект был открытым исходным кодом, став проектом Apache Incubator в марте 2016 года и проектом Apache Software Foundation верхнего уровня в январе 2019 года.
Airflow написан на Python , а рабочие процессы создаются с помощью скриптов Python. Airflow разработан по принципу «конфигурации как кода». В то время как другие платформы рабочих процессов «конфигурации как кода» существуют с использованием языков разметки, таких как XML , использование Python позволяет разработчикам импортировать библиотеки и классы, чтобы помочь им создавать свои рабочие процессы.
Airflow использует направленные ациклические графы (DAG) для управления оркестровкой рабочего процесса . Задачи и зависимости определяются в Python, а затем Airflow управляет планированием и выполнением. DAG могут запускаться либо по определенному расписанию (например, ежечасно или ежедневно), либо на основе внешних событийных триггеров (например, файла, появляющегося в Hive [5] ). Предыдущие планировщики на основе DAG, такие как Oozie и Azkaban, как правило, полагались на несколько файлов конфигурации и деревьев файловой системы для создания DAG, тогда как в Airflow DAG часто можно записать в одном файле Python. [6]
Три известных поставщика предлагают вспомогательные услуги по основному проекту с открытым исходным кодом.
{{cite web}}
: Отсутствует или пусто |title=
( помощь )