Data Engineering

Apache Airflow - Fondamenti

DAG, operator (Bash, Python, SQL), scheduling, dipendenze tra task, Airflow UI, connection, variable, trigger rule

20 domande da colloquio·
Mid-Level
1

Cos'è un DAG in Apache Airflow?

Risposta

Un DAG (Directed Acyclic Graph) è una collezione di task organizzati con dipendenze e relazioni, che rappresenta un workflow completo. La natura aciclica significa che non possono esserci loop nel grafo delle dipendenze, il che garantisce che ogni task venga eseguito esattamente una volta per run. Il DAG definisce quando e come i task devono essere eseguiti, ma non cosa fanno concretamente.

2

Quale parametro del DAG definisce la data dalla quale lo scheduler inizia a pianificare le esecuzioni?

Risposta

Il parametro start_date definisce la data dalla quale Airflow inizia a pianificare le esecuzioni del DAG. Questa data viene utilizzata in combinazione con schedule_interval per determinare i data interval. Un punto importante: se start_date è nel passato, Airflow può attivare backfill per recuperare le esecuzioni perse, a meno che non sia configurato catchup=False.

3

Quale operator dovrebbe essere usato per eseguire una funzione Python in un DAG Airflow?

Risposta

Il PythonOperator consente di eseguire una funzione Python callable in un DAG Airflow. La funzione viene passata tramite il parametro python_callable e può ricevere argomenti tramite op_args (lista) o op_kwargs (dizionario). Il PythonOperator è uno degli operator più comunemente utilizzati perché offre grande flessibilità per eseguire codice Python personalizzato.

4

Come definire una dipendenza tra due task task_a e task_b in modo che task_b venga eseguito dopo task_a?

5

Quale espressione cron rappresenta un'esecuzione giornaliera a mezzanotte?

+17 domande da colloquio

Padroneggia Data Engineering per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis