Data Engineering

dbt - Recursos avançados

Macros Jinja, testes customizados, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD

20 perguntas de entrevista·
Senior
1

No dbt, qual é a função principal das macros Jinja?

Resposta

As macros Jinja permitem reutilizar código SQL em vários modelos dbt. Elas funcionam como funções que aceitam parâmetros e retornam código SQL gerado dinamicamente. Isso evita a duplicação de código e facilita a manutenção de transformações complexas em todo o projeto.

2

Como definir uma macro dbt reutilizável em um arquivo?

Resposta

Uma macro dbt é definida usando a sintaxe Jinja macro/endmacro em um arquivo .sql dentro da pasta macros. O nome da macro é especificado após a palavra-chave macro, seguido por parâmetros entre parênteses. Essa macro pode então ser chamada de qualquer modelo do projeto.

3

Qual é a diferença entre as estratégias 'timestamp' e 'check' para snapshots dbt?

Resposta

A estratégia timestamp compara uma coluna de data de atualização (updated_at) para detectar mudanças, o que é mais eficiente pois compara apenas uma coluna. A estratégia check compara valores de colunas especificadas (check_cols) para detectar qualquer mudança, útil quando não há uma coluna de timestamp confiável disponível.

4

Quais colunas são adicionadas automaticamente pelo dbt ao criar um snapshot?

5

Como configurar um modelo incremental com a estratégia 'merge' no dbt?

+17 perguntas de entrevista

Domine Data Engineering para sua proxima entrevista

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

Comece gratis