DAG di Airflow

Introduzione ad Apache Airflow in Python

Mike Metzger

Data Engineer

Cos’è un DAG?

DAG, o Directed Acyclic Graph:

  • Directed - il flusso tra componenti indica dipendenze
  • Acyclic - non ha loop o ripetizioni
  • Graph - l’insieme dei componenti

Grafo aciclico diretto con nodi collegati da frecce a senso unico e senza loop

Introduzione ad Apache Airflow in Python

DAG in Airflow

  • Scritto in Python (può usare componenti in altre lingue)
  • Composto da Task da eseguire, come operatori o sensori
  • Contiene dipendenze esplicite o implicite
    • es.: Copia il file sul server prima di importarlo nel servizio database.

  DAG di Airflow con task collegati che mostrano l’ordine delle dipendenze

Introduzione ad Apache Airflow in Python

Definire un DAG

Esempio di 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()
Introduzione ad Apache Airflow in Python

DAG da riga di comando

 

  • Il comando airflow ha molte sottocomandi
  • airflow -h - aiuto e descrizioni dei sottocomandi

 

  • Sottocomandi per i DAG

    • airflow dags list - mostra tutti i DAG riconosciuti
    • airflow dags reserialize - forza Airflow a ricaricare i file dei DAG
    • airflow tasks test - esegue un task specifico
Introduzione ad Apache Airflow in Python

Riga di comando vs Python

Usa la riga di comando per:

  • Avviare i processi Airflow
  • Eseguire manualmente DAG/Task
  • Ottenere log da Airflow

Terminale che esegue lo strumento a riga di comando di Airflow

Usa Python per:

  • Creare un DAG
  • Modificare le proprietà del DAG

Illustrazione che rappresenta codice Python

Introduzione ad Apache Airflow in Python

Passiamo alla pratica!

Introduzione ad Apache Airflow in Python

Preparing Video For Download...