Вступ до Apache Airflow

Вступ до Apache Airflow на Python

Mike Metzger

Data Engineer

Що таке workflow?

  • Workflow — набір кроків для виконання процесу інженерії даних

 

  • Приклад: завантажити файли, скопіювати дані, відфільтрувати інформацію і записати в базу даних

Схема workflow із послідовними кроками: від завантаження файлів до запису в базу даних

Вступ до Apache Airflow на Python

Що таке Airflow?

Airflow — платформа для оркестрації workflow:

  • Створювати
  • Планувати
  • Моніторити

 

Логотип Apache Airflow

   

Піктограми, що позначають створення, планування і моніторинг workflow

Вступ до Apache Airflow на Python

Що таке Airflow?

  • Може виконувати програми будь-якою мовою, але workflow пишуться в Python
  • Реалізує workflow як Dags
  • Доступ через вебінтерфейс, код, командний рядок або REST API
  • Використовується для ETL-конвеєрів, ML-workflow, автоматизації тощо

 

Логотип Apache Airflow

Вступ до Apache Airflow на Python

Коротко про Dags

Dag — модель, що містить усе потрібне для виконання workflow.

  • Складається з задач і їхніх залежностей
  • Створюється з деталями, зокрема назвою, email, власником

Приклад Dag із задачами, з'єднаними стрілками залежностей

Вступ до Apache Airflow на Python

Компоненти Airflow

  • Scheduler — запускає заплановані workflow, надсилає задачі
  • API Server — забезпечує уніфікований безпечний доступ до платформи Airflow
  • Dag processor — зчитується планувальником, щоб визначити, які задачі і коли запускати
  • Metadata database — зберігає стан Dag і задач

Схема компонентів Airflow: scheduler, API server, Dag processor і metadata database

Вступ до Apache Airflow на Python

Запуск workflow в інтерфейсі Airflow

Подання Dags в Airflow: показано два завантажені Dag і опції взаємодії

Вступ до Apache Airflow на Python

Запуск workflow в інтерфейсі Airflow

Подання Dags в Airflow з видіною кнопкою запуску (play)

Вступ до Apache Airflow на Python

Запуск workflow в інтерфейсі Airflow

Вікно запуску Dag в Airflow з типовими параметрами та кнопкою Trigger

Вступ до Apache Airflow на Python

Запуск workflow в інтерфейсі Airflow

Подання Dags в Airflow із позначенням успішного останнього запуску зеленою галочкою

Вступ до Apache Airflow на Python

Запуск workflow в інтерфейсі Airflow

Подання задач запуску Dag в Airflow зі списком окремих задач, як-от generate_random_number

Вступ до Apache Airflow на Python

Давайте потренуємось!

Вступ до Apache Airflow на Python

Preparing Video For Download...