Skip
BI4ALL BI4ALL
  • Expertise
    • Data Strategy & Governance
    • Data Visualisation
    • Inteligência Artificial
    • Low Code & Automation
    • Modern BI & Big Data
    • R&D Software Engineering
    • PMO, BA & UX/ UI Design
  • Knowledge Centre
    • Blog
    • Setores
    • Customer Success
    • Tech Talks
  • Sobre Nós
    • História
    • Board
    • Parceiros BI4ALL
    • Sustentabilidade
    • Prémios
    • Media Centre
  • Carreiras
  • Contactos
Português
Inglês
Página Anterior:
    Knowledge Center
  • O que é DBT (Data Build Tool)

O que é DBT (Data Build Tool)

Página Anterior: Blog
  • Knowledge Center
  • Blog
  • Fabric: nova plataforma de análise de dados
1 Junho 2023

Fabric: nova plataforma de análise de dados

Placeholder Image Alt
  • Knowledge Centre
  • O que é DBT (Data Build Tool)
12 Abril 2024

O que é DBT (Data Build Tool)

O que é DBT (Data Build Tool)

Key takeways

DBT automatiza a transformação de dados

Oferece flexibilidade de implementação

Aprimora a gestão e documentação de projetos de análise

O DBT é um fluxo de trabalho de transformação. O acrónomimo significa Data Build Tool.

Como tal, o DBT gere o T de ELT, não sendo o DBT a fazer a transformação. Vai necessitar de  Postgres DB, SQL Server, Redshift, Databricks, Snowflake ou GCP  (ou outros) para que o DBT possa enviar  os seus processos de transformação para serem executados pelo motor DB .

O DBT cuida da orquestração dos processos de transformação (modelos), enviando-os para serem executados no motor DBT que configurou. Isso significa que o DBT usa SQL (onde o “sabor” SQL  depende do motor a que o conectar).

O DBT permite que analistas e engenheiros de dados automatizem a testagem e a implantação do processo de transformação de dados. Isto é particularmente útil uma vez que muitas empresas têm uma lógica de negócios cada vez mais complexa por trás dos seus relatórios de dados. A ferramenta  DBT regista todas as alterações feitas na lógica subjacente e facilita o rastreamento de dados e a atualização ou correção do pipeline por meio do controle de versão.

 

Por quê DBT

O DBT acrescenta muito mais do que ser simplesmente um processo de transformação. Segue-se uma rápida lista do que poderá ganhar ao usar o DBT:

Trabalhe com materializações e depois ajuste conforme necessário.

No DBT, trabalha-se com modelos que podem ser materializados como tabelas, vistas, incrementais ou temporárias. Para alterar o tipo de materialização, não é necessário reescrever o DDL como é habitual ao  trabalhar com SQL, basta alterar a configuração para esse modo e o DBT trata disso na próxima vez que for executado.

 

 

Lineage de dados desde o início

Um modelo nada mais é do que uma  declaração SQL ,mas com o DBT, pode usar a palavra-chave ref, para se referir a um modelo upstream. Isso permite determinar a ordem de execução dos seus modelos, executar as suas transformações em etapas e extrair a lineage  completa dos seus projetos DBT.

Documente os seus modelos

Com o DBT, sua documentação é feita onde deve ser feita, junto dos seus modelos e sob controle da versão. Terá acesso a toda a documentação criada por si e pelos seus colegas para o projeto localmente, uma vez que utiliza o mesmo repositório git para controle de versões.

 

Reutilize seu código e use estruturas de controle no seu código

Os ficheiros  SQL no DBT podem conter Jinja, uma linguagem de templates leve. Usar Jinja no SQL permite-lhe utilizar estruturas de controle nas suas consultas. Por exemplo, as instruções “if”e “for”. É vantajoso escrever o código SQL repetitivo desta forma:

Pode facilmente partilhá-la também através de publicação num website estático, como o exemplo abaixo, se estiver a usar o DBT _core (open source) ou simplesmente executando o DBT no DBT cloud (assinatura paga).

 

No exemplo acima, imagine que precisa de escrever uma declaração SQL com uma extensa lista de métodos de pagamento. Com jinja, poderia adicioná-los à lista e o loop “for” cuidaria disso automaticamente.

É também possível  criar macros que você ou seus colegas possam reutilizar de acordo com as necessidades, evitando assim repetir o código várias vezes ao longo do projeto.

 

Teste os seus modelos

Os testes estão totalmente integrados na estrutura DBT. Pode utilizar asserções no seu código (genéricas ou personalizadas) para testar os resultados gerados por um modelo e agir em conformidade, quer seja interrompendo a execução ou apenas alertando para isso.

Além disso, pode integrar pacotes de testes automatizados no DBT (como DBT-expectations), permitindo alargar o âmbito dos testes que pode executar nos seus modelos.

 

Utilize pacotes externos para ajudar no seu desenvolvimento

O suporte DBT para pacotes externos em SQL e Python  permite-lhe criar pipelines de dados mais complexos e poderosos, como por exemplo usar a biblioteca  Python’s pandas para fazer transformações de dados:

 

Opções para utilização do DBT

DBT Core

DBT core é a versão DBT em open-source. Pode instalá-lo na sua máquina local usando Homebrew (Mac OS ou Linux) ou o pip usando o adaptador que pretende utilizar, por exemplo, DBT-postgres. Pode também instalá-lo utilizando o  Docker ou a partir  do código-fonte git.

Com o DBT core, tem que gerir a infraestrutura do  seu DBT, o controle das versões e, dependendo do tipo de utilização no seu caso, uma plataforma de orquestração para executar seus trabalhos de acordo com uma programação e monitorizá-los.

Consulte https://docs.getdbt.com/docs/core/installation para obter instruções de instalação.

 

DBT Cloud

DBT Cloud é um serviço baseado em cloud  que fornece funcionalidades adicionais ao  DBT core.

Não terá de se preocupar com  infraestruturas ou instalação de software  ou com a gestão das ligações/credenciais da sua base de dados. Proporciona-lhe controle de versão de código + colaboração e opções de partilha. Terá acesso a agendamento e orquestração automatizados, assim como análises avançadas e relatórios que permitem acompanhar o desempenho das suas transformações de dados e identificar problemas e entraves.

Este serviço tem um custo associado e pode ser necessário apenas para determinados tipos de utilização.

Consulte https://www.getdbt.com/pricing/ para obter os preços desta oferta.

Autor

Rui Custódio

Rui Custódio

Associate Specialist

Partilhar

Conteúdos relacionados

Visão 2026: O panorama completo das tendências em IA eBooks

Visão 2026: O panorama completo das tendências em IA

Este eBook reúne as principais tendências que irão marcar 2026, incluindo agentes inteligentes, IA invisível e física.

O Papel do Data Governance na construção de uma organização orientada a dados Blog

O Papel do Data Governance na construção de uma organização orientada a dados

Data Governance é a base de uma verdadeira organização data-enabled, transformando os dados num ativo estratégico, seguro e confiável que acelera a inovação e a geração de insights.

Acelerar a Transformação Digital através da Democratização dos Dados Use Cases

Acelerar a Transformação Digital através da Democratização dos Dados

A criação de uma arquitetura de dados descentralizada e orientada para o domínio permitiu democratizar o acesso, melhorar a qualidade e a governação dos dados.

Data Catalogue: Como transformar o Governance num plano de controlo estratégico Blog

Data Catalogue: Como transformar o Governance num plano de controlo estratégico

O Data Catalogue transforma o Data Governance num sistema estratégico e automatizado que liga pessoas, dados e políticas para gerar confiança e valor contínuo.

Reforçar a competitividade através de Data Strategy e Governance Use Cases

Reforçar a competitividade através de Data Strategy e Governance

A definição e implementação de uma estratégia e modelo de governação de dados permitiram alinhar dados com os objetivos de negócio, garantir conformidade e aumentar a eficiência e competitividade.

Avaliação da maturidade dos dados empresariais (DMA) para uma multinacional do setor industrial Use Cases

Avaliação da maturidade dos dados empresariais (DMA) para uma multinacional do setor industrial

Uma empresa multinacional de manufatura descentralizada implementou uma Avaliação de Maturidade de Dados personalizada para alinhar entidades independentes sob uma estratégia e estrutura de dados unificadas.

video title

Vamos começar

Tem uma questão? Quer iniciar um novo projeto?
Contacte-nos

Menu

  • Expertise
  • Knowledge Centre
  • Sobre Nós
  • Carreiras
  • Contactos

Mantenha-se atualizado e impulsione o sucesso com inovação

Newsletter

2026 Todos os direitos reservados

Política de Privacidade e Proteção de Dados Política de Segurança de Informação
URS - ISO 27001
URS - ISO 27701
Cookies Settings

BI4ALL may use cookies to memorise your login data, collect statistics to optimise the functionality of the website and to carry out marketing actions based on your interests.
You can customise the cookies used in .

Opções para ativar ou desativar cookies por preferência.

These cookies are essential to provide services available on our website and to enable you to use certain features on our website. Without these cookies, we cannot provide certain services on our website.

These cookies are used to provide a more personalised experience on our website and to remember the choices you make when using our website.

These cookies are used to recognise visitors when they return to our website. This enables us to personalise the content of the website for you, greet you by name and remember your preferences (for example, your choice of language or region).

These cookies are used to protect the security of our website and your data. This includes cookies that are used to enable you to log into secure areas of our website.

These cookies are used to collect information to analyse traffic on our website and understand how visitors are using our website. For example, these cookies can measure factors such as time spent on the website or pages visited, which will allow us to understand how we can improve our website for users. The information collected through these measurement and performance cookies does not identify any individual visitor.

These cookies are used to deliver advertisements that are more relevant to you and your interests. They are also used to limit the number of times you see an advertisement and to help measure the effectiveness of an advertising campaign. They may be placed by us or by third parties with our permission. They remember that you have visited a website and this information is shared with other organisations, such as advertisers.

Política de Privacidade