Зачем в AW BI бесшовно встроен популярный оркестратор потоков данных Airflow

Автоматизация процессов в области данных и аналитики — это не просто тренд, а необходимость для поддержания конкурентоспособности. Особенно это актуально для BI-систем, где обработка больших объемов данных, их трансформация и последующая визуализация требуют значительных усилий. В этой статье мы расскажем, почему в AW BI (Analytic Workspace) изначально встроен Apache Airflow и как это позволяет пользователям эффективно управлять процессами обработки данных без сложной настройки.
Хотите узнать стоимость BI-системы под ваш бизнес?
Закажите бесплатную консультацию от наших экспертов.

Что такое Apache Airflow?

Apache Airflow — это мощный инструмент с открытым исходным кодом, предназначенный для оркестрации и автоматизации сложных рабочих процессов (workflow) в области обработки данных. Если представить, что база данных, такая как Clickhouse, решает задачу хранения и быстрого доступа к информации, то Airflow специализируется на управлении процессами, которые включают в себя множество шагов, зависимостей и временных интервалов.
Интересный факт:
Изначально Airflow был разработан в компании Airbnb (отсюда и название — Airflow). Airbnb, как известно, занимается бронированием жилья, и им потребовался инструмент для управления сложными процессами обработки данных. Позже они решили вывести свой продукт в Open Source, чтобы подключить сообщество разработчиков и продолжить его развитие. Сегодня Airflow активно используется в различных отраслях для оркестрации рабочих процессов. По Airflow есть отличная документация, размещенная на официальном сайте: airflow.apache.org. Это делает его доступным и удобным для изучения и использования.

Ключевым понятием в Airflow является граф задач рабочего процесса — DAG (Directed Acyclic Graph). В этой структуре описывается порядок выполнения и зависимость задач, которые нужно выполнить в рамках конвейера обработки данных.

Архитектура Airflow: как это работает?

Архитектура Airflow состоит из нескольких ключевых компонентов, которые работают вместе для обеспечения эффективной оркестрации задач:


1. metadata Database
Это база данных, которая хранит метаданные о DAG, задачах, их состояниях и истории выполнения. В AW BI используется PostgreSQL.

2. scheduler
Scheduler отвечает за планирование задач и их запуск в соответствии с расписанием, определенным в DAG. Он постоянно проверяет базу данных на наличие новых задач и решает, когда их запускать.

3. executor
Executor определяет, как и где выполняются задачи. Например, LocalExecutor выполняет задачи на локальной машине, а CeleryExecutor распределяет задачи между несколькими worker’ами.

4. workers:
Workers — это процессы или узлы, которые выполняют задачи. Они получают задачи от Executor и выполняют их.

5. DAG Directory
Это директория, где хранятся файлы DAG. Scheduler постоянно сканирует эту директорию на наличие новых или измененных DAG.

6. webserver
Webserver предоставляет пользовательский интерфейс для мониторинга и управления DAG. Он позволяет просматривать состояние задач, запускать их вручную и анализировать логи.

7. user Interface
Веб-интерфейс Airflow позволяет пользователям взаимодействовать с системой, просматривать графики выполнения задач, логи и другую полезную информацию.

Зачем Airflow встроен в AW BI?


AW BI — это BI-система, закрывающая полный цикл работы с данными: сбор и консолидация, обработка и анализ, визуализация и распространение отчетов. В ней уже есть встроенный ETL-конструктор с удобным интерфейсом, который позволяет настраивать обновления данных, трансформации и инкрементальные загрузки. Но что происходит под капотом?

Под капотом для каждой модели автоматически формируется DAG (Directed Acyclic Graph) в Apache Airflow, который отвечает за оркестрацию потоков данных. Это даёт пользователям две важные возможности:

— простая настройка без кода
Вся работа с данными организуется через удобный интерфейс без необходимости программировать DAG вручную.

— гибкость для разработчиков
Если необходимо, пользователи могут вручную редактировать DAG и управлять процессами обработки данных на более глубоком уровне.

Таким образом, AW BI предлагает удобство визуальной настройки ETL-процессов, а Airflow берёт на себя управление их выполнением, предоставляя мощные инструменты для мониторинга и анализа.

Что даёт встроенный Airflow в AW BI?


1. Автоматизация ETL-процессов
Пользователь создаёт сценарий обработки данных в интерфейсе, а Airflow управляет выполнением всех шагов: загрузка данных, их трансформация, сохранение результатов в хранилище.

2. Мониторинг и уведомления
Airflow позволяет отслеживать выполнение задач и анализировать скорость отдельных этапов. Встроенные механизмы уведомлений предупреждают о сбоях и помогают оперативно реагировать на проблемы.

3. Гибкость
Если требуется более сложная логика, разработчики могут редактировать DAG и добавлять кастомные шаги, используя всю мощь Apache Airflow.

4. Масштабируемость
Airflow поддерживает распределённое выполнение задач, что позволяет обрабатывать большие объёмы данных и запускать сложные сценарии параллельно.
Airflow в AW BI
Больше информации вы можете узнать на нашем техническом вебинаре ете узнать на нашем техническом вебинаре AIRFLOW в AW BI

Как это работает на практике?

В основе работы Airflow лежит концепция DAG (Directed Acyclic Graph) — направленного ациклического графа.

DAG представляет собой граф, в котором задачи (узлы) соединены стрелками, определяющими их порядок выполнения. Главное правило — нет циклов, то есть процесс не может вернуться к уже выполненной задаче.


Пример DAG:
  1. Выполняется начальная задача (Task A).
  2. Затем параллельно запускаются две задачи (Task B и Task C), если хватает ресурсов.
  3. После завершения обеих задач запускается следующая задача (Task D).
  4. В финале выполняется Task E.
Такой граф может представлять, например, ETL-процесс:
  • cбор данных из базы данных или файлового хранилища;
  • предварительная обработка;
  • объединение и трансформация данных;
  • загрузка в итоговое хранилище.
Жизненный цикл задач в Airflow

Каждая задача в DAG проходит несколько этапов. Рассмотрим их на примере работы Scheduler (планировщика) и Executor (исполнителя):


Scheduler принимает решение о запуске задачи. Она может попасть в один из статусов:
  • Scheduled — задача запланирована;
  • Removed — задача удалена;
  • Upstream Failed — ошибка в предшествующей задаче. Если задача готова к выполнению, она переходит в Executor.

Executor управляет доступными ресурсами и ставит задачу в очередь (Queued).
Когда появляется свободный слот, задача отправляется на выполнение Worker (рабочий процесс). Worker выполняет задачу, запрашивая данные, обрабатывая их и записывая результат.

Возможные исходы выполнения:
  • Success — задача выполнена успешно.
  • Failed — произошла ошибка, задача завершилась неудачно.
  • Up For Retry — если установлено число повторных попыток, Airflow попробует снова.
  • Up For Reschedule — задача перенесена на более поздний срок.

Если задача завершилась неудачно, Scheduler решает, можно ли её перезапустить. Если лимит попыток исчерпан, она помечается как Failed.

Выводы


Встроенный Airflow делает AW BI мощным инструментом для работы с данными. Пользователи получают удобный интерфейс для настройки ETL, а разработчики — гибкость и масштабируемость, которые предоставляет
Airflow.

Это решение позволяет:
  • быстро автоматизировать обработку данных без сложной настройки;
  • эффективно управлять потоками данных внутри BI-системы;
  • использовать мощные инструменты мониторинга и контроля, встроенные в Airflow.

Таким образом, использование Apache Airflow для автоматизации процессов в BI-системах, таких как Analytic Workspace, позволяет значительно повысить эффективность работы с данными. Airflow не только упрощает рутинные задачи, но и обеспечивает прозрачность и контроль над всеми этапами обработки данных.
Александр Кварацхелия
Ведущий архитектор BI-системы AW BI
Кандидат математических наук
16 марта 2025
Хотите узнать стоимость BI-системы под ваш бизнес?
Закажите бесплатную консультацию от наших экспертов.