Um modelo incremental constrói a tabela uma vez e, nas execuções seguintes, processa apenas linhas novas ou alteradas e faz merge delas, usando um bloco is_incremental para filtrar a origem. Use quando a reconstrução completa fica lenta ou cara demais, tipicamente em tabelas grandes de eventos. Mantenha uma chave única para que atualizações atrasadas façam merge em vez de duplicar, e mantenha o full refresh possível para poder reconstruir depois de mudanças de lógica.
Por que os entrevistadores perguntam isso
Os entrevistadores estão checando se você otimiza com bom senso. Modelos incrementais introduzem estado, então podem divergir do que uma reconstrução completa produziria, e candidatos que partem para eles por padrão causam bugs silenciosos de corretude. Boas respostas mencionam a janela de retrospectiva para dados atrasados e a disciplina de fazer full refresh periódico para verificar.
Como estruturar sua resposta
- Explique a mecânica do filtro incremental e do merge.
- Dê o limiar a partir do qual o incremental vale a complexidade.
- Cubra a chave única e o que acontece sem ela.
- Adicione uma janela de retrospectiva para atualizações atrasadas.
- Insista no full refresh periódico como checagem de corretude.
Exemplo de resposta
Na primeira execução ele constrói a tabela inteira. Depois disso, o bloco is_incremental adiciona um filtro para que você só escaneie linhas recentes da origem, e o dbt faz o merge delas na tabela existente por uma chave única. Eu só recorro a isso quando a reconstrução completa virou algo realmente doloroso, porque modelos incrementais carregam estado e estado diverge. Dois hábitos os mantêm honestos. Primeiro, uma janela de retrospectiva em vez de um estritamente maior que o timestamp máximo, porque as origens atualizam linhas retroativamente. Nós usamos três dias em um modelo de pedidos depois de descobrir que reembolsos chegavam com até 48 horas de atraso e estavam sendo perdidos por completo. Segundo, um full refresh agendado, semanal no nosso caso, que pega a divergência e prova que o modelo ainda consegue ser reconstruído. A falha que eu já vi foi um modelo incremental sem chave única em uma estratégia de append, que contava tudo em dobro silenciosamente toda vez que uma retentativa rodava, e ninguém percebeu até um número mensal discordar do financeiro.
Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.
Veja como funcionaPerguntas de acompanhamento que você pode esperar
- Qual é a diferença entre as estratégias de append e de merge?
- Como você mudaria a lógica de um modelo incremental com segurança em produção?
- Como você lida com deletes em um modelo incremental?
Mais perguntas para Engenheiro de Dados
Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.
Prever minhas perguntas