Dags Airflow

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

Mike Metzger

Data Engineer

Що таке Dag?

Dag, або Directed Acyclic Graph:

  • Directed — напрямок між компонентами задає залежності
  • Acyclic — без циклів і повторів
  • Graph — набір компонентів

Орієнтований ациклічний граф із вузлами, з'єднаними односторонніми стрілками, без циклів

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

Dag в Airflow

  • Пишеться на Python (можна використовувати компоненти іншими мовами)
  • Складається з Tasks для виконання, як-от оператори чи сенсори
  • Містить залежності, визначені явно або неявно
    • напр., скопіюйте файл на сервер, перш ніж імпортувати його в сервіс бази даних.

  Dag Airflow зі зв'язаними задачами, що показує порядок залежностей

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

Визначення Dag

Приклад Dag (Taskflow API):

from airflow.sdk import dag

from pendulum import datetime @dag( dag_id='etl_workflow', email='[email protected]', start_date=datetime(2026, 3, 15, tz="UTC") )
def etl_workflow(): ...
etl_workflow()
Вступ до Apache Airflow на Python

Dags у командному рядку

 

  • Команда airflow у терміналі має багато підкоманд
  • airflow -h — довідка та описи підкоманд

 

  • Підкоманди для Dag

    • airflow dags list — показати всі розпізнані Dags
    • airflow dags reserialize — примусово перезавантажити файли Dag в Airflow
    • airflow tasks test — запустити конкретне завдання
Вступ до Apache Airflow на Python

Командний рядок vs Python

Скористайтеся командним рядком, щоб:

  • Запустити процеси Airflow
  • Ручно запускати Dags / Tasks
  • Отримувати журнали з Airflow

Термінал із запущеним інструментом командного рядка airflow

Використовуйте Python, щоб:

  • Створити Dag
  • Редагувати окремі властивості Dag

Ілюстрація, що зображає код Python

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

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

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

Preparing Video For Download...