
Apache Airflow - Fondamenti
DAG, operator (Bash, Python, SQL), scheduling, dipendenze tra task, Airflow UI, connection, variable, trigger rule
1Cos'è un DAG in Apache Airflow?
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.
2Quale parametro del DAG definisce la data dalla quale lo scheduler inizia a pianificare le esecuzioni?
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.
3Quale operator dovrebbe essere usato per eseguire una funzione Python in un DAG Airflow?
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.
Come definire una dipendenza tra due task task_a e task_b in modo che task_b venga eseguito dopo task_a?
Quale espressione cron rappresenta un'esecuzione giornaliera a mezzanotte?
+17 domande da colloquio
Altri argomenti di colloquio Data Engineering
Linux & Shell - Fondamenti
Git & GitHub - Fondamenti
Python avanzato per Data Engineering
Docker - Fondamenti
Google Cloud Platform - Fondamenti
CI/CD e qualità del codice
Docker Compose
FastAPI - API per dati
SQL avanzato per il Data Engineering
Data Lake - Architettura e ingestione
BigQuery per il Data Engineering
PostgreSQL - Amministrazione
Data Modeling per Data Engineering
Fivetran & Airbyte - Ingestione dati
dbt - Fondamenti
Kubernetes - Fondamenti
dbt - Funzionalità avanzate
Pattern ETL / ELT / ETLT
Apache Airflow - Avanzato
Airflow + dbt - Orchestrazione delle pipeline
PySpark - Elaborazione su larga scala
Google Pub/Sub - Streaming di dati
Apache Beam & Dataflow
Kubernetes - Produzione e scaling
Terraform - Infrastructure as Code
Database NoSQL
Data Architecture moderna
Monitoraggio e osservabilità
IAM e sicurezza dei dati
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