Data Engineering

dbt - Funzionalità avanzate

Macro Jinja, test personalizzati, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD

20 domande da colloquio·
Senior
1

In dbt, qual è lo scopo principale delle macro Jinja?

Risposta

Le macro Jinja permettono di riutilizzare il codice SQL in più modelli dbt. Funzionano come funzioni che accettano parametri e restituiscono codice SQL generato dinamicamente. Questo evita la duplicazione del codice e facilita la manutenzione di trasformazioni complesse nell'intero progetto.

2

Come definire una macro dbt riutilizzabile in un file?

Risposta

Una macro dbt è definita utilizzando la sintassi Jinja macro/endmacro in un file .sql all'interno della cartella macros. Il nome della macro è specificato dopo la parola chiave macro, seguito dai parametri tra parentesi. Questa macro può quindi essere chiamata da qualsiasi modello del progetto.

3

Qual è la differenza tra le strategie 'timestamp' e 'check' per gli snapshots dbt?

Risposta

La strategia timestamp confronta una colonna di data di aggiornamento (updated_at) per rilevare i cambiamenti, il che è più performante in quanto confronta solo una colonna. La strategia check confronta i valori delle colonne specificate (check_cols) per rilevare qualsiasi cambiamento, utile quando non è disponibile una colonna timestamp affidabile.

4

Quali colonne vengono aggiunte automaticamente da dbt durante la creazione di uno snapshot?

5

Come configurare un modello incremental con la strategia 'merge' in dbt?

+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