Data Engineering

dbt - Erweiterte Funktionen

Jinja-Makros, benutzerdefinierte Tests, Packages, Hooks, Snapshots (SCD), Incremental Models, dbt Cloud, CI/CD

20 Interview-Fragen·
Senior
1

Was ist in dbt der Hauptzweck von Jinja-Makros?

Antwort

Jinja-Makros ermöglichen die Wiederverwendung von Code über mehrere dbt-Modelle hinweg. Sie funktionieren wie Funktionen, die Parameter akzeptieren und dynamisch generierten SQL-Code zurückgeben. Dies vermeidet Code-Duplikation und erleichtert die Wartung komplexer Transformationen im gesamten Projekt.

2

Wie definiert man ein wiederverwendbares dbt-Makro in einer Datei?

Antwort

Ein dbt-Makro wird mit der Jinja-Syntax macro/endmacro in einer .sql-Datei innerhalb des macros-Ordners definiert. Der Makroname wird nach dem Schlüsselwort macro angegeben, gefolgt von Parametern in Klammern. Dieses Makro kann dann von jedem Modell im Projekt aufgerufen werden.

3

Was ist der Unterschied zwischen den Strategien 'timestamp' und 'check' für dbt-Snapshots?

Antwort

Die timestamp-Strategie vergleicht eine Aktualisierungsdatums-Spalte (updated_at), um Änderungen zu erkennen, was performanter ist, da nur eine Spalte verglichen wird. Die check-Strategie vergleicht Werte angegebener Spalten (check_cols), um Änderungen zu erkennen, nützlich, wenn keine zuverlässige Timestamp-Spalte verfügbar ist.

4

Welche Spalten werden von dbt beim Erstellen eines Snapshots automatisch hinzugefügt?

5

Wie konfiguriert man ein Incremental-Modell mit der 'merge'-Strategie in dbt?

+17 Interview-Fragen

Meistere Data Engineering für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten