Data Engineering

dbt - Zaawansowane funkcje

Makra Jinja, testy niestandardowe, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD

20 pytań z rozmów·
Senior
1

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.

2

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.

3

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.

4

Które kolumny są automatycznie dodawane przez dbt podczas tworzenia snapshot?

5

Jak skonfigurować model incremental ze strategią 'merge' w dbt?

+17 pytań z rozmów

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