ANÚNCIO

~/questoes/dados

O que é um DAG (Directed Acyclic Graph) em dbt?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência dbt: visão geral para engenharia e modelagem de dados
Para fixar

O DAG em dbt: Visualizando o Fluxo de Dados

Conceito central

O DAG (Directed Acyclic Graph) em dbt é uma representação visual que mostra como os modelos, fontes e testes se conectam, indicando a sequência correta de execução e garantindo que não existam dependências circulares que quebrem o pipeline.

Por que essa resposta faz sentido

A alternativa correta descreve exatamente o propósito do DAG: ser uma visualização que organiza a execução dos modelos conforme suas dependências. Quando você executa dbt, a ferramenta lê esse grafo para determinar qual modelo rodar primeiro, qual vem depois, e assim por diante.

Armadilhas comuns

  • Confundir DAG com arquivo de configuração YAML — o DAG é gerado automaticamente a partir das dependências que você define no código, não é um arquivo que você cria manualmente.
  • Pensar que DAG é apenas sobre particionamento ou distribuição de dados — na verdade, é sobre ordem de execução e validação de dependências, funciona em qualquer data warehouse.
  • Achar que DAG é obrigatório configurar — não é, o dbt cria o DAG automaticamente ao ler seus modelos e referências (ref e source), sem necessidade de setup extra.

Entenda as alternativas

A

Essa é a definição correta. O DAG mostra visualmente como cada modelo depende de outros, permitindo que dbt execute tudo na ordem certa automaticamente, sem risco de um modelo tentar usar dados que ainda não existem.

B

Particionamento de dados é uma estratégia diferente, usada para dividir grandes tabelas em pedaços menores para melhorar performance. Não tem relação com o DAG ou com a visualização de dependências em dbt.

C

dbt se conecta com plataformas de ML, mas não através de um protocolo chamado DAG. O DAG é apenas um conceito de grafo de dependências, não um protocolo de integração.

D

Arquivo YAML em dbt define configurações (como sources, testes e propriedades de modelos), mas não é o que chamamos de DAG. O DAG é gerado automaticamente pela ferramenta a partir dessas configurações.

Dica prática: Ao trabalhar em um projeto dbt, sempre que executar `dbt run`, a ferramenta está usando o DAG internamente. Para visualizar esse grafo de forma clara, use `dbt docs generate` seguido de `dbt docs serve` — você verá um diagrama interativo mostrando exatamente como seus modelos se conectam.

Revise pensando: Se você mudar um modelo que é fonte de outros três modelos, o DAG garantirá que quais models serão recalculados automaticamente?