Airflow-dags

Introductie tot Apache Airflow in Python

Mike Metzger

Data Engineer

Wat is een dag?

Dag, of Directed Acyclic Graph:

  • Directed – de stroom tussen componenten geeft afhankelijkheden weer
  • Acyclic – bevat geen lussen of herhaling
  • Graph – de set componenten

Gerichte acyclische graaf met knooppunten verbonden door eenrichtingspijlen en zonder lussen

Introductie tot Apache Airflow in Python

Dag in Airflow

  • Geschreven in Python (maar kan componenten in andere talen gebruiken)
  • Bestaat uit uit te voeren Tasks, zoals operators of sensors
  • Bevat afhankelijkheden, expliciet of impliciet gedefinieerd
    • bv. kopieer het bestand naar de server vóór import in de databaseservice.

  Airflow-dag met verbonden taken die de afhankelijkheidsvolgorde tonen

Introductie tot Apache Airflow in Python

Een dag definiëren

Voorbeeld-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()
Introductie tot Apache Airflow in Python

Dags op de commandoregel

 

  • De airflow-commandoregel bevat veel subcommando's
  • airflow -h – hulp en beschrijvingen van subcommando's

 

  • Dag-subcommando's

    • airflow dags list – toon alle herkende dags
    • airflow dags reserialize – forceer Airflow om dag-bestanden te herladen
    • airflow tasks test – voer een specifieke task uit
Introductie tot Apache Airflow in Python

Commandoregel vs. Python

Gebruik de commandoregeltool om:

  • Airflow-processen te starten
  • Dags/Tasks handmatig uit te voeren
  • Loggegevens uit Airflow op te halen

Terminal die de airflow-commandoregeltool uitvoert

Gebruik Python om:

  • Een dag te maken
  • De individuele eigenschappen van een dag te bewerken

Illustratie die Python-code voorstelt

Introductie tot Apache Airflow in Python

Laten we oefenen!

Introductie tot Apache Airflow in Python

Preparing Video For Download...