
dbt - Recursos avançados
Macros Jinja, testes customizados, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD
1No dbt, qual é a função principal das macros Jinja?
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.
2Como definir uma macro dbt reutilizável em um arquivo?
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.
3Qual é a diferença entre as estratégias 'timestamp' e 'check' para snapshots dbt?
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.
Quais colunas são adicionadas automaticamente pelo dbt ao criar um snapshot?
Como configurar um modelo incremental com a estratégia 'merge' no dbt?
+17 perguntas de entrevista
Outros temas de entrevista Data Engineering
Linux & Shell - Fundamentos
Git & GitHub - Fundamentos
Python avançado para Data Engineering
Docker - Fundamentos
Google Cloud Platform - Fundamentos
CI/CD e qualidade de código
Docker Compose
FastAPI - APIs de dados
SQL avançado para Data Engineering
Data Lake - Arquitetura e ingestão
BigQuery para Data Engineering
PostgreSQL - Administração
Data Modeling para Data Engineering
Fivetran & Airbyte - Ingestão de dados
dbt - Fundamentos
Apache Airflow - Fundamentos
Kubernetes - Fundamentos
Padrões ETL / ELT / ETLT
Apache Airflow - Avançado
Airflow + dbt - Orquestração de pipelines
PySpark - Processamento em grande escala
Google Pub/Sub - Streaming de dados
Apache Beam & Dataflow
Kubernetes - Produção e escalabilidade
Terraform - Infrastructure as Code
Bancos de dados NoSQL
Arquitetura Data moderna
Monitoramento e observabilidade
IAM e segurança de dados
Domine Data Engineering para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis