Data Engineering

dbt - Gelişmiş özellikler

Jinja makroları, özel testler, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD

20 mülakat soruları·
Senior
1

dbt'de Jinja makrolarının ana amacı nedir?

Cevap

Jinja makroları, birden çok dbt modelinde kod yeniden kullanımına olanak tanır. Parametre kabul eden ve dinamik olarak oluşturulmuş SQL kodu döndüren işlevler gibi çalışırlar. Bu, kod tekrarını önler ve proje genelinde karmaşık dönüşümlerin bakımını kolaylaştırır.

2

Bir dosyada yeniden kullanılabilir bir dbt makrosu nasıl tanımlanır?

Cevap

Bir dbt makrosu, macros klasöründeki bir .sql dosyasında Jinja macro/endmacro söz dizimi kullanılarak tanımlanır. Makro adı, macro anahtar sözcüğünün ardından belirtilir ve parametreler parantez içinde verilir. Bu makro daha sonra projedeki herhangi bir modelden çağrılabilir.

3

dbt snapshots için 'timestamp' ve 'check' stratejileri arasındaki fark nedir?

Cevap

timestamp stratejisi, değişiklikleri tespit etmek için bir güncelleme tarihi sütununu (updated_at) karşılaştırır; yalnızca bir sütunu karşılaştırdığı için daha performanslıdır. check stratejisi, herhangi bir değişikliği tespit etmek için belirtilen sütunların (check_cols) değerlerini karşılaştırır; güvenilir bir timestamp sütunu olmadığında yararlıdır.

4

dbt bir snapshot oluştururken hangi sütunları otomatik olarak ekler?

5

dbt'de 'merge' stratejisi ile incremental model nasıl yapılandırılır?

+17 mülakat soruları

Bir sonraki mülakatın için Data Engineering'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla