
dbt - Zaawansowane funkcje
Makra Jinja, testy niestandardowe, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD
1Jaka jest główna funkcja makr Jinja w dbt?
Jaka jest główna funkcja makr Jinja w dbt?
Odpowiedź
Makra Jinja umożliwiają ponowne wykorzystanie kodu SQL w wielu modelach dbt. Działają jak funkcje, które przyjmują parametry i zwracają dynamicznie generowany kod SQL. Pozwala to uniknąć duplikacji kodu i ułatwia utrzymanie złożonych transformacji w całym projekcie.
2Jak zdefiniować w pliku makro dbt nadające się do wielokrotnego użytku?
Jak zdefiniować w pliku makro dbt nadające się do wielokrotnego użytku?
Odpowiedź
Makro dbt definiuje się za pomocą składni Jinja macro/endmacro w pliku .sql w folderze macros. Nazwa makra jest podawana po słowie kluczowym macro, a po niej parametry w nawiasach. Takie makro można następnie wywołać z dowolnego modelu w projekcie.
3Jaka jest różnica między strategiami 'timestamp' i 'check' dla snapshots w dbt?
Jaka jest różnica między strategiami 'timestamp' i 'check' dla snapshots w dbt?
Odpowiedź
Strategia timestamp porównuje kolumnę daty aktualizacji (updated_at), aby wykryć zmiany, co jest bardziej wydajne, ponieważ porównuje tylko jedną kolumnę. Strategia check porównuje wartości określonych kolumn (check_cols), aby wykryć jakąkolwiek zmianę, przydatna, gdy nie ma niezawodnej kolumny timestamp.
Które kolumny są automatycznie dodawane przez dbt podczas tworzenia snapshot?
Jak skonfigurować model incremental ze strategią 'merge' w dbt?
+17 pytań z rozmów
Inne tematy rekrutacyjne Data Engineering
Linux & Shell - Podstawy
Git & GitHub - Podstawy
Zaawansowany Python dla Data Engineering
Docker - Podstawy
Google Cloud Platform - Podstawy
CI/CD i jakość kodu
Docker Compose
FastAPI - API danych
Zaawansowany SQL dla Data Engineering
Data Lake - Architektura i wprowadzanie danych
BigQuery dla Data Engineering
PostgreSQL - Administracja
Data Modeling dla Data Engineering
Fivetran & Airbyte - Pozyskiwanie danych
dbt - Podstawy
Apache Airflow - Podstawy
Kubernetes - Podstawy
Wzorce ETL / ELT / ETLT
Apache Airflow - Zaawansowany
Airflow + dbt - Orkiestracja pipeline'ów
PySpark - Przetwarzanie na dużą skalę
Google Pub/Sub - Streaming danych
Apache Beam & Dataflow
Kubernetes - Produkcja i skalowanie
Terraform - Infrastructure as Code
Bazy danych NoSQL
Nowoczesna Data Architecture
Monitorowanie i obserwowalność
IAM i bezpieczeństwo danych
Opanuj Data Engineering na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo