
dbt - Erweiterte Funktionen
Jinja-Makros, benutzerdefinierte Tests, Packages, Hooks, Snapshots (SCD), Incremental Models, dbt Cloud, CI/CD
1Was ist in dbt der Hauptzweck von Jinja-Makros?
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.
2Wie definiert man ein wiederverwendbares dbt-Makro in einer Datei?
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.
3Was ist der Unterschied zwischen den Strategien 'timestamp' und 'check' für dbt-Snapshots?
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.
Welche Spalten werden von dbt beim Erstellen eines Snapshots automatisch hinzugefügt?
Wie konfiguriert man ein Incremental-Modell mit der 'merge'-Strategie in dbt?
+17 Interview-Fragen
Weitere Data Engineering-Interviewthemen
Linux & Shell - Grundlagen
Git & GitHub - Grundlagen
Fortgeschrittenes Python für Data Engineering
Docker - Grundlagen
Google Cloud Platform - Grundlagen
CI/CD und Codequalität
Docker Compose
FastAPI - Daten-APIs
Fortgeschrittenes SQL für Data Engineering
Data Lake - Architektur und Ingestion
BigQuery für Data Engineering
PostgreSQL - Administration
Data Modeling für Data Engineering
Fivetran & Airbyte - Daten-Ingestion
dbt - Grundlagen
Apache Airflow - Grundlagen
Kubernetes - Grundlagen
ETL- / ELT- / ETLT-Patterns
Apache Airflow - Fortgeschritten
Airflow + dbt - Pipeline-Orchestrierung
PySpark - Verarbeitung im großen Maßstab
Google Pub/Sub - Daten-Streaming
Apache Beam & Dataflow
Kubernetes - Produktion und Skalierung
Terraform - Infrastructure as Code
NoSQL-Datenbanken
Moderne Data Architecture
Monitoring und Observability
IAM und Datensicherheit
Meistere Data Engineering für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten