Skapa en produktionspipeline

Introduktion till Apache Airflow i Python

Mike Metzger

Data Engineer

Köra dagar och uppgifter

För att köra en specifik uppgift från kommandoraden:

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

För att köra en hel dag:

airflow dags trigger --logical-date <date> <dag_id>
Introduktion till Apache Airflow i Python

Påminnelse om uppgifter

  • @task – Anger en given Python-funktion som en Airflow-uppgift
  • @task.bash – Returnerar utdata från ett bash-kommando som ett Airflow-uppgiftsresultat
  • @task.branch – En förgreningsoperator för körningsval inom en dag
  • FileSensor – kräver argumentet filepath och kan behöva attributen mode eller poke_interval
Introduktion till Apache Airflow i Python

Påminnelse om mallar

  • Många objekt i Airflow kan använda mallar
  • Vissa fält stöder mallsträngar, andra inte
  • Ett sätt att kontrollera är att använda den inbyggda dokumentationen:
  1. Öppna python3-tolken
  2. Importera nödvändiga bibliotek (t.ex. from airflow.sdk import dag, task)
  3. Kör help(<Airflow-objekt>) vid prompten, t.ex. help(task)
  4. Leta efter en rad som refererar till template_fields. Den anger vilka argument som kan använda mallar.
Introduktion till Apache Airflow i Python

Exempel på malldokumentation

Terminal som visar python3-hjälputdata för ett Airflow-objekt

Terminalutdata som markerar raden template_fields i Airflow-hjälpen

Introduktion till Apache Airflow i Python

Arbeta med Airflow

Illustration av att skapa, schemalägga och övervaka arbetsflöden

Apache Airflow-logotyp

Introduktion till Apache Airflow i Python

Nu kör vi en övning!

Introduktion till Apache Airflow i Python

Preparing Video For Download...