Data Analytics

dbt - Recursos avançados

Macros Jinja, testes personalizados, packages, hooks, snapshots, incremental models, orquestração CI/CD

20 perguntas de entrevista·
Senior
1

Qual é a diferença entre uma macro e um modelo no dbt?

Resposta

Uma macro é um bloco de código Jinja reutilizável que gera SQL dinamicamente, enquanto um modelo é um arquivo SQL que produz uma tabela ou view no data warehouse. As macros ajudam a fatorar código repetitivo e criar funções personalizadas, enquanto os modelos definem a estrutura dos dados transformados.

2

Como declarar uma macro personalizada no dbt?

Resposta

Uma macro dbt é declarada em um arquivo .sql dentro da pasta macros/ usando as tags Jinja macro e endmacro. O nome da macro é definido na tag macro, e pode aceitar parâmetros. A macro é então invocável nos modelos usando a sintaxe de chaves duplas do Jinja.

3

Qual é o principal benefício dos incremental models no dbt?

Resposta

Os incremental models permitem processar apenas dados novos ou modificados desde a última execução, em vez de reconstruir a tabela inteira. Isso reduz significativamente o tempo de execução e os custos de compute para tabelas grandes, mantendo os dados atualizados.

4

Qual configuração é necessária para definir um incremental model no dbt?

5

Qual é o propósito da estratégia merge em um incremental model do dbt?

+17 perguntas de entrevista

Domine Data Analytics para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis