В помощь дата-инженеру: 3 главных плюса реестра провайдеров Apache Airflow от Astronomer

Автор Категория ,
В помощь дата-инженеру: 3 главных плюса реестра провайдеров Apache Airflow от Astronomer

Мы уже писали про преимущества разделения пакетов в Apache AirFlow 2.0. Сегодня рассмотрим, как открытый реестр Python-пакетов от компании Astronomer облегчает разработку конвейеров обработки данных, чем провайдеры отличаются от модулей и насколько удобно дата-инженеру всем этим пользоваться.

От монолита к мульти-пакетной архитектуре в Apache Airflow 2.0

Напомним, во 2-ой версии Apache AirFlow ранее существовавшая монолитная архитектура фреймворка разделена на пакеты:

  • core – которые относятся к ядру системы;
  • отделенные от ядра операторы Google, Amazon, AWS, Postgres, HTTP и прочие провайдеры (provider), каждый из которых упакован в отдельный пакет с полностью контролируемыми и задокументированными зависимостями. Например, apache-airflow-provider-amazon или apache-airflow-provider-google.

Такое отделение тематических провайдеров от ядра упрощает развертывание, тестирование и обновление как точечных компонентов, так и всей системы в целом. Таким образом, теперь разработчику data pipeline’а совсем необязательно полностью писать собственный конвейер, а можно воспользоваться готовыми решениями, по необходимости адаптировав их к особенностям своей инфраструктуры. Некоторые пакеты провайдеров поставляются автоматически при обновлении Airflow или установке дополнений, а что-то требуется искать [1]. Чтобы облегчить работу-дата-инженера в этом отношении, компания Astronomer, которая популяризирует и коммерциализирует Apache AirFlow, в марте 2021 года собрала все пакеты провайдеров в одном месте – реестре Astronomer Registry [2]. Что именно представляет собой этот реестр и как им пользоваться, мы рассмотрим далее. А как написать собственный провайдер, читайте здесь.

Data Pipeline на Apache Airflow и Apache Hadoop

Код курса
AIRF
Ближайшая дата курса
28 сентября, 2022
Длительность обучения
24 ак.часов
Стоимость обучения
60 000 руб.

Что такое Astronomer Registry и зачем он нужен дата-инженеру

Реестр провайдеров AirFlow от Astronomer – это открытый каталог пакетов для решения конкретных задач средствами этого фреймворка. Например, SnowflakeOperator выполняет SQL-код в базе данных Snowflake, VaultBackend – извлекает связи и переменные из Hashicorp Vault для надежного управления секретами, а EmrJobFlowSensor от AWS запрашивает состояние потока заданий EMR-кластера до достижения целевого состояния. Это примеры модулей, которые могут быть объединены в более крупные компоненты – провайдеры. В частности, apache-airflow-providers-google для всех сервисов Google содержит пространства имен и модули Google Cloud, Google Ads, GSuite и прочих облачных служб этого поставщика. Чтобы облегчить навигацию по всем этим компонентам, в Astronomer Registry они разделены следующим образом [2, 3]:

  • провайдеры – Python-пакеты верхнего уровня, которые пользователи загружают для взаимодействия с конкретным сервисом, включающие все необходимые модули внешней службы, например, Google, AWS, MS Azure.
  • модули – определенные части пакетов провайдеров, которые можно импортировать и использовать в DAG или в файле конфигурации Airflow: операторы, датчики (сенсоры), хуки (hooks) и прочие элементы, расширяющие возможности ​​фреймворка. 

На начало августа 2021 года в Astronomer Registry представлено 76 провайдеров, почти 800 модулей и 200 DAG’ов. Модули каждого провайдера маркированы по типу: операторы, хуки, трансферы, датчики, логи и секреты. По каждому модулю можно посмотреть следующую информацию:

  • краткое описание;
  • сведения о поставщике;
  • дата последнего обновления;
  • ссылка на Github;
  • примеры кода;
  • графическое отображением DAG;
  • инструкция по запуску DAG;
  • параметры и их рекомендуемые значения;
  • команда развертывания в локальной среде, например, pip install apache-airflow-providers-hashicorp.

Поскольку все модули представляют собой Python-пакеты, они устанавливаются через всем знакомый менеджер pip. В Astronomer Registry для удобства пользователя команда установки вынесена в отдельное поле.

Таким образом, открытый реестр консолидирует всю информацию для начала работы с пакетом провайдера и его модулями, включая инструкции доступа, позволяя пользователям быстро понять, как это применяется в контексте DAG. Это дает следующие преимущества:

  • развитие Airflow через упрощение взаимодействия с сообществом – любая компания или отдельно взятый разработчик DAG может опубликовать свой пакет провайдера или модуля в открытом доступе;
  • ускорение разработки data pipeline’ов – благодаря удобному структурированию информации и поиску по поставщикам и модулям находить и внедрять нужные решения можно практически мгновенно, не тратя часы на чтение исходного кода.
  • популяризация продуктов от провайдеров – представление их возможностей в контексте ETL/ELT и других batch-процессов, которые поддерживает AirFlow, расширяет известность поставщика услуги, информируя дата-инженеров о способах решения прикладных задач с помощью предлагаемых продуктов.

Компания Astronomer планирует и дальше развивать этот открытый и бесплатный реестр. Для enterprise-сценариев будет выпущена его приватная версия для отдельных команд. Ожидается, что Private Registry будет поддерживать аутентификацию, чтобы пользователи могли публиковать внутренние пакеты и делиться ими только с командой [3]. Читайте в нашей новой статье, как можно скачать из этого открытого реестра пакет для профилирования данных Great Expectations и использовать его совместно с Apache AirFlow в конвейерах обеспечения Data Quality.

Data Pipeline на Apache AirFlow и Arenadata Hadoop

Код курса
ADH-AIR
Ближайшая дата курса
28 сентября, 2022
Длительность обучения
24 ак.часов
Стоимость обучения
60 000 руб.

Узнайте больше подробностей про практическое использование Apache AirFlow для разработки сложных конвейеров аналитики больших данных с Hadoop и Spark на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Источники

  1. http://airflow.apache.org/docs/apache-airflow-providers/
  2. https://registry.astronomer.io/
  3. https://www.astronomer.io/blog/astronomer-registry