Úvod do Apache Airflow

Úvod do Apache Airflow v Pythonu

Mike Metzger

Data Engineer

Co je workflow?

  • Workflow – sada kroků k provedení datového inženýrského procesu

 

  • Příklad: stažení souborů, kopírování dat, filtrování informací a zápis do databáze

Diagram workflow se sekvenčními kroky od stažení souborů po zápis do databáze

Úvod do Apache Airflow v Pythonu

Co je Airflow?

Airflow – platforma pro orchestraci workflow:

  • Vytváření
  • Plánování
  • Monitorování

 

Logo Apache Airflow

   

Ikony znázorňující vytváření, plánování a monitorování workflow

Úvod do Apache Airflow v Pythonu

Co je Airflow?

  • Lze implementovat programy v jakémkoli jazyce, ale workflow se píší v Pythonu
  • Implementuje workflow jako DAGy
  • Přístupné přes webové rozhraní, kód, příkazový řádek nebo REST API
  • Využití pro ETL pipeline, ML workflow, automatizaci apod.

 

Logo Apache Airflow

Úvod do Apache Airflow v Pythonu

Stručný úvod do DAGů

DAG – model reprezentující vše potřebné ke spuštění workflow.

  • Tvoří ho úlohy a jejich závislosti
  • Definuje se s různými údaji: název, e-mail, vlastník

Ukázkový DAG s úlohami propojenými šipkami závislostí

Úvod do Apache Airflow v Pythonu

Komponenty Airflow

  • Scheduler – spouští naplánované workflow, odesílá úlohy
  • API Server – zajišťuje bezpečný přístup k platformě Airflow
  • Dag processor – čte scheduler, aby určil, jaké úlohy a kdy spustit
  • Metadata database – ukládá stav DAGů a úloh

Diagram komponent Airflow: scheduler, API server, Dag processor a metadata database

Úvod do Apache Airflow v Pythonu

Spuštění workflow v Airflow UI

Zobrazení DAGů v Airflow se dvěma načtenými DAGy a možnostmi interakce

Úvod do Apache Airflow v Pythonu

Spuštění workflow v Airflow UI

Zobrazení DAGů v Airflow se zvýrazněným tlačítkem pro spuštění

Úvod do Apache Airflow v Pythonu

Spuštění workflow v Airflow UI

Dialogové okno Airflow pro spuštění DAGu s výchozími možnostmi a tlačítkem Trigger

Úvod do Apache Airflow v Pythonu

Spuštění workflow v Airflow UI

Zobrazení DAGů v Airflow s úspěšným posledním spuštěním označeným zelenou fajfkou

Úvod do Apache Airflow v Pythonu

Spuštění workflow v Airflow UI

Zobrazení úloh spuštění DAGu v Airflow se seznamem jednotlivých úloh, např. generate_random_number

Úvod do Apache Airflow v Pythonu

Pojďme si procvičit!

Úvod do Apache Airflow v Pythonu

Preparing Video For Download...