Введение в Apache Airflow

Введение в Apache Airflow на Python

Mike Metzger

Data Engineer

Что такое рабочий процесс?

  • Рабочий процесс — набор шагов для выполнения задачи в рамках инженерии данных

 

  • Пример: загрузка файлов, копирование данных, фильтрация информации и запись в базу данных

Схема рабочего процесса: последовательные шаги от загрузки файлов до записи в базу данных

Введение в Apache Airflow на Python

Что такое Airflow?

Airflow — платформа для оркестрации рабочих процессов:

  • Создание
  • Планирование
  • Мониторинг

 

Логотип Apache Airflow

   

Иконки создания, планирования и мониторинга рабочих процессов

Введение в Apache Airflow на Python

Что такое Airflow?

  • Поддерживает программы на любом языке, но рабочие процессы пишутся на Python
  • Реализует рабочие процессы в виде DAG
  • Доступен через веб-интерфейс, код, командную строку или REST API
  • Используется для ETL-пайплайнов, ML-процессов, автоматизации и других задач

 

Логотип Apache Airflow

Введение в Apache Airflow на Python

Краткое введение в DAG

DAG — модель, описывающая всё необходимое для выполнения рабочего процесса.

  • Содержит задачи и их зависимости
  • Создаётся с указанием имени, электронной почты, владельца и других параметров

Пример DAG: задачи, связанные стрелками зависимостей

Введение в Apache Airflow на Python

Компоненты Airflow

  • Scheduler — запускает запланированные рабочие процессы и отправляет задачи
  • API Server — обеспечивает безопасный и унифицированный доступ к платформе Airflow
  • Dag processor — читается планировщиком для определения задач и времени их запуска
  • Metadata database — хранит состояние DAG и задач

Схема компонентов Airflow: планировщик, API-сервер, обработчик DAG и база метаданных

Введение в Apache Airflow на Python

Запуск рабочего процесса в интерфейсе Airflow

Список DAG в интерфейсе Airflow: два загруженных DAG с параметрами взаимодействия

Введение в Apache Airflow на Python

Запуск рабочего процесса в интерфейсе Airflow

Список DAG в интерфейсе Airflow: выделена кнопка запуска (Trigger)

Введение в Apache Airflow на Python

Запуск рабочего процесса в интерфейсе Airflow

Всплывающее окно запуска DAG в Airflow: параметры запуска по умолчанию и кнопка Trigger

Введение в Apache Airflow на Python

Запуск рабочего процесса в интерфейсе Airflow

Список DAG в интерфейсе Airflow: последний запуск завершён успешно — зелёная галочка

Введение в Apache Airflow на Python

Запуск рабочего процесса в интерфейсе Airflow

Интерфейс Airflow: список задач запуска DAG, включая generate_random_number

Введение в Apache Airflow на Python

Давайте потренируемся!

Введение в Apache Airflow на Python

Preparing Video For Download...