Apache Airflow
Apache Airflow — это открытое программное обеспечение для создания, мониторинга и оркестрации сценариев обработки данных.
Apache Airflow | |
---|---|
![]() | |
Тип | Apache Foundation project[d] и библиотека для Питона[d] |
Разработчик | Apache Software Foundation |
Написана на | Python |
Последняя версия |
|
Лицензия | Apache License 2.0[2] и лицензия Apache |
Сайт | airflow.apache.org |
![]() |
Обзор
Этот проект был изначально разработан в Airbnb в октябре 2014 г.[3] в качестве решения для управления всё более сложными процессами обработки данных. Создание Airflow позволило Airbnb программно создавать и планировать свои рабочие процессы и отслеживать их через встроенный Airflow пользовательский интерфейс.[4][5] С самого начала, проект был сделан с открытым исходным кодом, став проектом Apache Incubator в марте 2016 года и проектом верхнего уровня Apache Software Foundation в январе 2019 года.
Airflow написан на Python, а рабочие процессы создаются с помощью скриптов Python. Airflow спроектирован по принципу «конфигурация как код». В то время как существуют другие платформы рабочих процессов «конфигурация как код», использующие языки разметки, такие как XML, использование Python позволяет разработчикам импортировать библиотеки и классы, чтобы помочь им создавать свои рабочие процессы.
Airflow использует направленный ациклический граф (DAG) для управления оркестровкой рабочего процесса. Задачи и зависимости определяются в скриптах на Python, а Airflow управляет планированием и выполнением кода в этих скриптах. Сценарии обработки данных (DAGs) могут запускаться либо по определенному расписанию (например, ежечасно или ежедневно), либо на основе триггеров внешних событий (например, появление файла в Hive[6]). Предыдущие планировщики на основе DAG, такие как Oozie и Azkaban, как правило, полагались на несколько файлов конфигурации и структуру файловой системы для создания DAG, тогда как в Airflow DAG могут часто записывается в один файл Python.[7]
Поставщики облачных сервисов
Многие крупные поставщики облачных сервисов предоставляют AirFlow в виде управляемого сервиса:
- Astronomer создал SaaS инструмент и Kubernetes-развёртываемый стек Airflow, который помогает в мониторинге, оповещении, DevOps и управлении кластером.[8]
- Cloud Composer — это управляемый облачный сервис Airflow, работающий на Google Cloud Platform (GCP) и интегрированный с другими сервисами GCP.[9] Начиная с ноября 2020 г.
- Amazon Web Services также предлагает управляемый облачный сервис Apache Airflow.[10]
Примечания
- https://github.com/apache/airflow/releases/tag/2.2.3 — 2021.
- https://airflow.incubator.apache.org/license.html
- Apache Airflow . Apache Airflow. Дата обращения: 30 сентября 2019 г.. Архивировано 12 августа 2019 г..
- Beauchemin, Maxime -a-workflow-management-platform-46318b977fd8 Airflow: платформа управления рабочим процессом . Medium (2 июня 2015). Дата обращения: 30 сентября 2019 г.. [https ://web.archive.org/web/20190813011749/https://medium.com/airbnb-engineering/airflow-a-workflow-management-platform-46318b977fd8 Архивировано] 13 августа 2019 г..
- Airflow . Дата обращения: 30 сентября 2019 г.. [https:/ /web.archive.org/web/20190706014909/https://airbnb.io/projects/airflow/ Архивировано] 6 июля 2019 г..
- Trencseni, Marton Обзор Airflow . BytePawn (16 january 2016). Дата обращения: 1 октября 2019 г.. /web/20190228235838/http://bytepawn.com/airflow.html Архивировано 28 февраля 2019 г..
- {{Cite web|url=https://cwiki.apache.org/confluence/display/incubator/AirflowProposal%7Ctitle=AirflowProposal%7Cdate=28 марта 2019 г.|website=Apache Software Foundation|access-date=1 октября 2019 г.}
- Lipp, Cassie Astronomer теперь компания Apache Airflow . americaninno (13 июля 2018 г.). Дата обращения: 18 сентября 2019 г..
- -automation-tool-for-developers/ Google запускает Cloud Composer, новый инструмент автоматизации рабочих процессов для разработчиков (англ.) ?. TechCrunch. Дата обращения: 18 сентября 2019.
- -airflow-mwaa/ Введение в управляемые рабочие процессы Amazon для Apache Airflow (MWAA) (англ.) ?. Amazon Web Services (24 ноября 2020). Дата обращения: 17 декабря 2020.