Airflow Dags

Wprowadzenie do Apache Airflow w Pythonie

Mike Metzger

Data Engineer

Czym jest Dag?

Dag, czyli Directed Acyclic Graph:

  • Directed – przepływ między komponentami reprezentuje zależności
  • Acyclic – brak pętli i powtórzeń
  • Graph – zbiór komponentów

Skierowany graf acykliczny z węzłami połączonymi jednokierunkowymi strzałkami bez pętli

Wprowadzenie do Apache Airflow w Pythonie

Dag w Airflow

  • Pisany w Pythonie (może zawierać komponenty w innych językach)
  • Składa się z zadań do wykonania, np. operatorów lub sensorów
  • Zawiera zależności zdefiniowane jawnie lub niejawnie
    • np. skopiuj plik na serwer przed importem do bazy danych

  Dag Airflow z połączonymi zadaniami ilustrujący kolejność zależności

Wprowadzenie do Apache Airflow w Pythonie

Definiowanie Daga

Przykładowy 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()
Wprowadzenie do Apache Airflow w Pythonie

Dagi w wierszu poleceń

 

  • Polecenie airflow zawiera wiele podpoleceń
  • airflow -h – pomoc i opisy podpoleceń

 

  • Podpolecenia dla Dagów

    • airflow dags list – lista rozpoznanych Dagów
    • airflow dags reserialize – wymuszenie ponownego załadowania plików Dagów
    • airflow tasks test – uruchomienie konkretnego zadania
Wprowadzenie do Apache Airflow w Pythonie

Wiersz poleceń a Python

Wiersz poleceń służy do:

  • Uruchamiania procesów Airflow
  • Ręcznego uruchamiania Dagów i zadań
  • Pobierania informacji z logów Airflow

Terminal z uruchomionym narzędziem wiersza poleceń Airflow

Python służy do:

  • Tworzenia Daga
  • Edytowania właściwości Daga

Ilustracja reprezentująca kod Pythona

Wprowadzenie do Apache Airflow w Pythonie

Czas na ćwiczenia!

Wprowadzenie do Apache Airflow w Pythonie

Preparing Video For Download...