Introduktion till Apache Airflow

Introduktion till Apache Airflow i Python

Mike Metzger

Data Engineer

Vad är ett arbetsflöde?

  • Arbetsflöde – En uppsättning steg för att utföra en dataingenjörsprocess

 

  • Exempel: Ladda ned filer, kopiera data, filtrera information och skriv till en databas

Arbetsflödesdiagram med sekventiella dataingenjörssteg, från nedladdning av filer till skrivning till en databas

Introduktion till Apache Airflow i Python

Vad är Airflow?

Airflow – en plattform för att orkestrera arbetsflöden:

  • Skapa
  • Schemalägga
  • Övervaka

 

Apache Airflow-logotyp

   

Ikoner som representerar att skapa, schemalägga och övervaka arbetsflöden

Introduktion till Apache Airflow i Python

Vad är Airflow?

  • Kan köra program i vilket språk som helst, men arbetsflöden skrivs i Python
  • Implementerar arbetsflöden som Dags
  • Nås via webbgränssnitt, kod, kommandorad eller REST API
  • Används för ETL-pipelines, ML-arbetsflöden, automatisering m.m.

 

Apache Airflow-logotyp

Introduktion till Apache Airflow i Python

Kort introduktion till Dags

Dag – en modell som representerar allt som behövs för att köra ett arbetsflöde.

  • Består av uppgifter och deras beroenden
  • Skapas med olika detaljer, t.ex. namn, e-post och ägare

Exempel på en Dag med uppgifter kopplade via beroendepilar

Introduktion till Apache Airflow i Python

Airflow-komponenter

  • Scheduler – Utlöser schemalagda arbetsflöden och skickar uppgifter
  • API Server – Ger säker och konsekvent åtkomst till Airflow-plattformen
  • Dag processor – Läses av schemaläggaren för att avgöra vilka uppgifter som ska köras och när
  • Metadata database – Lagrar tillståndet för Dags och uppgifter

Diagram över Airflow-komponenter: scheduler, API server, Dag processor och metadata database

Introduktion till Apache Airflow i Python

Köra ett arbetsflöde i Airflow-gränssnittet

Airflow Dags-vy med två laddade Dags och interaktionsalternativ

Introduktion till Apache Airflow i Python

Köra ett arbetsflöde i Airflow-gränssnittet

Airflow Dags-vy med startknappen för att trigga en Dag markerad

Introduktion till Apache Airflow i Python

Köra ett arbetsflöde i Airflow-gränssnittet

Popup för att trigga en Dag i Airflow med standardalternativ och en Trigger-knapp

Introduktion till Apache Airflow i Python

Köra ett arbetsflöde i Airflow-gränssnittet

Airflow Dags-vy med en lyckad senaste körning markerad med en grön bock

Introduktion till Apache Airflow i Python

Köra ett arbetsflöde i Airflow-gränssnittet

Vy över Dag-körningens uppgifter i Airflow med detaljer för enskilda uppgifter, t.ex. generate_random_number

Introduktion till Apache Airflow i Python

Nu kör vi en övning!

Introduktion till Apache Airflow i Python

Preparing Video For Download...