The TaskFlow API

Budowanie potoków danych z Airflow

Volker Janz

Senior Developer Advocate at Astronomer

Klasyczne podejście

def extract_data():
    return {"users": 150, "events": 4200}

with DAG("etl_pipeline") as dag: t1 = PythonOperator(task_id="extract", python_callable=extract_data) t2 = PythonOperator(task_id="summary", python_callable=print_summary)
t1 >> t2
Budowanie potoków danych z Airflow

Podejście TaskFlow

from airflow.sdk import dag, task

@dag def etl_pipeline(): @task def extract_data(): return {"users": 150}
data = extract_data() print_summary(data)
Budowanie potoków danych z Airflow

Dlaczego TaskFlow?

 

  • Mniej szablonowego kodu — dekoratory zastępują instancje operatorów
  • Niejawne zależności — wartości zwracane łączą taski automatycznie
  • Czytelność — DAG wygląda jak zwykły skrypt Pythona
  • Klasyczne operatory nadal dostępne dla integracji z providerami

TaskFlow API - visual

Budowanie potoków danych z Airflow

Interfejs Airflow: widok siatki

Airflow Grid view

 

  • Każda kolumna to jedno uruchomienie DAG-a
  • Każdy wiersz to jeden task
  • Kolory oznaczają status: zielony = sukces, czerwony = błąd
  • Kliknij kwadrat, aby zobaczyć logi i szczegóły
Budowanie potoków danych z Airflow

Interfejs Airflow: widok grafu

Airflow Grid view

 

  • Skupia się na jednym uruchomieniu DAG-a
  • Pokazuje zależności i równoległe wykonanie
  • Szczegóły można dostosować w ustawieniach
Budowanie potoków danych z Airflow

Interfejs Airflow: wersjonowanie DAG-ów

Dag version indicator in Airflow UI

 

  • Automatycznie śledzi zmiany struktury
  • Każde uruchomienie jest powiązane z wersją aktywną w danym momencie
  • Wersje znajdziesz w panelu szczegółów DAG-a
Budowanie potoków danych z Airflow

Czas na praktykę!

Budowanie potoków danych z Airflow

Preparing Video For Download...