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
  • Sobre Nós
    • História
    • Board
    • Sustentabilidade
    • Parceiros BI4ALL
    • Prémios
    • Media Centre
  • Carreiras
  • Contactos
Português
InglêsAlemão
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

O Modelo de Power BI está pronto, mas e a documentação? Blog

O Modelo de Power BI está pronto, mas e a documentação?

Documentar modelos de Power BI é crucial para garantir clareza, manutenção e confiança nos dados — e com as funções INFO.VIEW, essa tarefa torna-se mais simples, automática e acessível.

Modelos Multimodais: O futuro da IA integrada Blog

Modelos Multimodais: O futuro da IA integrada

Os modelos de IA multimodal integram vários tipos de dados, como texto, voz e imagens, melhorando a precisão, a robustez e a experiência do utilizador ao permitir que a IA processe a informação de forma mais semelhante à dos seres humanos.

O poder da IA: Tendências para 2025 Blog

O poder da IA: Tendências para 2025

Em 2025, a IA impulsionará inovação e eficiência, exigindo regulamentação ética, segurança reforçada e avanços sustentáveis.

As abordagens estratégicas para implementar IA com sucesso Blog

As abordagens estratégicas para implementar IA com sucesso

A inteligência artificial deve ser integrada de forma estratégica e colaborativa, promovendo inovação sem comprometer a adaptação das organizações.

Finsolutia Casos de Sucesso

Finsolutia

Com uma experiência comprovada em diversos setores nos mercados de crédito e imobiliário, a Finsolutia foi fundada em 2007. Atualmente, a empresa mantém uma forte presença em Portugal e em Espanha, contando com cerca de 400 colaboradores distribuídos pelos escritórios de Lisboa, Porto e Madrid.  

PowerBI e Fabric SQL Database: Guia para uma solução end-to-end Blog

PowerBI e Fabric SQL Database: Guia para uma solução end-to-end

A nova atualização do Fabric permite criar uma solução end-to-end no PowerBI, integrando armazenamento, processamento e visualização de dados num único ambiente.

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

2025 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.

Estes cookies são essenciais para fornecer serviços disponíveis no nosso site e permitir que possa usar determinados recursos no nosso site. Sem estes cookies, não podemos fornecer certos serviços no nosso site.

Estes cookies são usados para fornecer uma experiência mais personalizada no nosso site e para lembrar as escolhas que faz ao usar o nosso site.

Estes cookies são usados para reconhecer visitantes quando voltam ao nosso site. Isto permite-nos personalizar o conteúdo do site para si, cumprimentá-lo pelo nome e lembrar as suas preferências (por exemplo, a sua escolha de idioma ou região).

Estes cookies são usados para proteger a segurança do nosso site e dos seus dados. Isto inclui cookies que são usados para permitir que faça login em áreas seguras do nosso site.

Estes cookies são usados para coletar informações para analisar o tráfego no nosso site e entender como é que os visitantes estão a usar o nosso site. Por exemplo, estes cookies podem medir fatores como o tempo despendido no site ou as páginas visitadas, isto vai permitir entender como podemos melhorar o nosso site para os utilizadores. As informações coletadas por meio destes cookies de medição e desempenho não identificam nenhum visitante individual.

Estes cookies são usados para fornecer anúncios mais relevantes para si e para os seus interesses. Também são usados para limitar o número de vezes que vê um anúncio e para ajudar a medir a eficácia de uma campanha publicitária. Podem ser colocados por nós ou por terceiros com a nossa permissão. Lembram que já visitou um site e estas informações são partilhadas com outras organizações, como anunciantes.

Política de Privacidade