
dbt - Fondamenti
Progetto dbt, models, sources, refs, tests, documentazione, materializations (table, view, incremental), seeds
1Cos'è dbt (data build tool)?
Cos'è dbt (data build tool)?
Risposta
dbt è uno strumento di trasformazione dati che permette di scrivere trasformazioni in SQL ed eseguirle in un data warehouse. Applica i principi di software engineering (versioning, tests, documentazione) al lavoro di trasformazione dati. dbt non gestisce l'estrazione né il caricamento (la E e la L di ELT), solo la trasformazione.
2Qual è la struttura di base di un progetto dbt?
Qual è la struttura di base di un progetto dbt?
Risposta
Un progetto dbt contiene un file dbt_project.yml nella radice che definisce la configurazione del progetto. Le cartelle principali sono models (contenente file SQL), tests per test custom, macros per macro Jinja, seeds per file CSV, e snapshots per acquisizioni di dati storici. Il file profiles.yml (di solito fuori dal progetto) definisce le connessioni ai warehouse.
3Qual è il ruolo del file profiles.yml in dbt?
Qual è il ruolo del file profiles.yml in dbt?
Risposta
Il file profiles.yml contiene le informazioni di connessione ai data warehouse (BigQuery, Snowflake, Redshift, PostgreSQL, ecc.). Solitamente è memorizzato nella cartella ~/.dbt/ e non nel progetto per evitare di versionare credentials sensibili. Ogni profilo può avere più target (dev, prod) che permettono di passare facilmente tra ambienti.
Cos'è un model in dbt?
Qual è il ruolo della funzione ref() in dbt?
+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
Apache Airflow - 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