Создание производственного пайплайна

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

Mike Metzger

Data Engineer

Запуск DAG и задач

Запуск отдельной задачи из командной строки:

airflow tasks test <dag_id> <task_id> <date>

Запуск полного DAG:

airflow dags trigger --logical-date <date> <dag_id>
Введение в Apache Airflow на Python

Напоминание о задачах

  • @task — помечает функцию Python как задачу Airflow
  • @task.bash — возвращает результат bash-команды как результат задачи Airflow
  • @task.branch — оператор ветвления для выбора пути выполнения DAG в рантайме
  • FileSensor — требует аргумент filepath; могут потребоваться атрибуты mode или poke_interval
Введение в Apache Airflow на Python

Напоминание о шаблонах

  • Многие объекты Airflow поддерживают шаблоны
  • Некоторые поля принимают шаблонные строки, другие — нет
  • Проверить это можно через встроенную документацию:
  1. Откройте интерпретатор python3
  2. Импортируйте нужные библиотеки (например, from airflow.sdk import dag, task)
  3. Выполните help(<объект Airflow>), например help(task)
  4. Найдите строку с template_fields — она укажет аргументы, поддерживающие шаблоны.
Введение в Apache Airflow на Python

Пример документации по шаблонам

Терминал с выводом справки python3 для объекта Airflow

Вывод терминала с выделенной строкой template_fields в справке Airflow

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

Работа с Airflow

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

Логотип Apache Airflow

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

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

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

Preparing Video For Download...