Conectar-se ao dbt Core
Este artigo explica o que é dbt, como instalar o dbt Core e como se conectar. A versão hospedada do dbt, chamada dbt Cloud, também está disponível. Para saber mais, confira Conectar-se ao dbt Cloud.
O que é dbt?
O dbt (ferramenta de compilação de dados) é um ambiente de desenvolvimento para transformar dados gravando as instruções selecionadas. O dbt transforma essas instruções de seleção em tabelas e exibições. O dbt compila seu código em SQL bruto e, em seguida, executa esse código no banco de dados especificado em Azure Databricks. O dbt dá suporte aos padrões de codificação colaborativa e às melhores práticas, como controle de versão, documentação, e modularidade.
O dbt não extrai nem carrega dados. O dbt se concentra apenas na etapa de transformação, usando uma arquitetura de "transformação após o carregamento". O dbt pressupõe que você já tem uma cópia dos seus dados em seu banco de dado.
O dbt Core permite escrever código dbt no editor de texto ou IDE de sua escolha no computador de desenvolvimento local e, em seguida, executa o dbt na linha de comando. O dbt Core inclui a CLI (interface de linha de comando) do dbt. A CLI do dbt é gratuita para uso e código-fonte aberto.
O dbt Core (e dbt Cloud) podem usar repositórios git hospedados. Para obter mais informações, consulte criando um projeto dbt e usando um projeto existente no site do dbt.
Requisitos de instalação
Antes de instalar o dbt Core, você deve instalar o seguinte no computador de desenvolvimento local:
Você também precisa de um dos seguintes para se autenticar:
(Recomendado) dbt Core habilitado como um aplicativo OAuth em sua conta. Isso é habilitado por padrão.
Um token de acesso pessoal
Observação
Como prática recomendada de segurança quando você se autentica com ferramentas, sistemas, scripts e aplicativos automatizados, o Databricks recomenda que você use tokens OAuth.
Se você usar a autenticação de token de acesso pessoal, o Databricks recomendará o uso de tokens de acesso pessoal pertencentes a entidades de serviço, em vez de usuários do workspace. Para criar tokens para entidades de serviço, consulte Gerenciar tokens para uma entidade de serviço.
Etapa 1: Instalar o adaptador dbt do Databricks
É recomendável usar um ambiente virtual do Python, pois ele isola as versões de pacote e as dependências de código para esse ambiente específico, independentemente das versões de pacote e dependências de código em outros ambientes. Isso ajuda a reduzir incompatibilidades inesperadas de versão do pacote e colisões de dependência de código.
O Databricks recomenda a versão 1.8.0 ou superior do pacote dbt.databricks.
.. Importante: se o computador de desenvolvimento local usar qualquer um dos seguintes sistemas operacionais, você deverá concluir as etapas adicionais primeiro: CentOS, MacOS, Ubuntu, Debian e Windows. Consulte a seção "Meu sistema operacional tem pré-requisitos" de Usar pip para instalar o dbt no site do dbt Labs.
Etapa 2: criar um projeto de dbt e especificar e testar as configurações de conexão
Nesta etapa, você cria um projeto dbt, (uma coleção de diretórios e arquivos relacionados, necessários para usar o dbt). Em seguida, você configura seus perfis de conexão, que contêm as configurações de conexão para uma computação do Azure Databricks, um SQL warehouse ou ambos. Para aumentar a segurança, os projetos e perfis de dbt são armazenados em locais separados por padrão.
Com o ambiente virtual ainda ativado, execute o comando dbt init com o nome do projeto. Esse procedimento de exemplo cria um projeto chamado
my_dbt_demo
.dbt init my_dbt_demo
Quando for solicitado que você escolha um banco dados
databricks
ouspark
, insira o número que corresponde aodatabricks
.Quando solicitado a inserir um valor
host
, faça o seguinte:- Para um cluster, insira o valor do Nome do Host do Servidor na guia Opções Avançadas, JDBC/ODBC para o cluster do Azure Databricks.
- Para um SQL warehouse, insira o valor do Nome do Host do Servidor na guia Detalhes da Conexão do seu SQL warehouse.
Quando solicitado a inserir um valor
http_path
, faça o seguinte:- Para um cluster, insira o valor do Caminho HTTP na guia Opções Avançadas, JDBC/ODBC para a computação do Azure Databricks.
- Para um SQL warehouse, insira o valor do Caminho HTTP na guia Detalhes da Conexão do seu SQL warehouse.
Para escolher um tipo de autenticação, insira o número que corresponde a
use oauth
(recomendado) ouuse access token
.Se você escolher
use access token
como o tipo de autenticação, insira o valor do token de acesso pessoal do Azure Databricks.Observação
Como melhor prática de segurança, ao autenticar com ferramentas, sistemas, scripts e aplicativos automatizados, o Databricks recomenda que você use tokens de acesso pertencentes às entidades de serviço e não aos usuários do workspace. Para criar tokens para entidades de serviço, consulte Gerenciar tokens para uma entidade de serviço.
Quando o valor
desired Unity Catalog option
for solicitado, insira o número que corresponde ause Unity Catalog
ounot use Unity Catalog
.Se você optar por usar o Catálogo do Unity, insira o valor desejado para
catalog
, quando solicitado.Insira os valores desejados para
schema
ethreads
quando solicitado.O dbt grava suas entradas em um arquivo
profiles.yml
. O local desse arquivo é listado na saída do comandodbt init
. Você também pode listar esse local posteriormente executando o comandodbt debug --config-dir
. É possível abrir esse arquivo agora para examinar e verificar seu conteúdo.Se você escolheu
use oauth
para o tipo de autenticação, adicione seu perfil de autenticação de computador para computador (M2M) ou U2M (usuário para computador) paraprofiles.yml
.Para obter exemplos, confira Configurar o login do Azure Databricks a partir do dbt Core com o Microsoft Entra ID.
O Databricks não recomenda especificar segredos em
profiles.yml
diretamente. Em vez disso, defina a ID do cliente e o segredo do cliente como variáveis de ambiente.Confirme os detalhes da conexão executando o comando
dbt debug
no diretóriomy_dbt_demo
.Se você escolher
use oauth
como o tipo de autenticação, será solicitado a entrar com seu provedor de identidade.Importante
Antes de começar, verifique se o computador ou o warehouse SQL está em execução.
Será exibida uma saída semelhante à seguinte:
cd my_dbt_demo dbt debug
... Configuration: profiles.yml file [OK found and valid] dbt_project.yml file [OK found and valid] Required dependencies: - git [OK found] Connection: ... Connection test: OK connection ok
Próximas etapas
- Criar, executar e testar modelos do dbt Core localmente. Confira o tutorial do dbt Core.
- Executar projetos do dbt Core como tarefas de trabalho do Azure Databricks. Confira Usar transformações dbt em um trabalho do Azure Databricks.