Conecte-se ao núcleo dbt
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 obter mais informações, consulte Connect to dbt Cloud.
O que é dbt?
O dbt (data build tool) é um ambiente de desenvolvimento para transformar dados escrevendo instruções select. dbt transforma esses comandos select em tabelas e visualizações. dbt compila seu código em SQL bruto e, em seguida, executa esse código no banco de dados especificado em Databricks. O dbt oferece suporte a padrões de codificação colaborativa e práticas recomendadas, incluindo controle de versão, documentação e modularidade.
dbt não extrai ou carrega dados. O dbt foca apenas na passo da transformação, usando uma arquitetura de “transformação após carga”. dbt assume que você já tem uma cópia de seus dados em seu banco de dados.
dbt Core permite que o senhor escreva o código dbt no IDE de sua escolha em sua máquina de desenvolvimento local e, em seguida, execute dbt a partir da linha de comando. O dbt Core inclui a interface de linha de comando (CLI) do dbt. A CLI do dbt é de uso gratuito e de código aberto.
O dbt Core (e o dbt Cloud) pode usar repositórios git hospedados. Para obter mais informações, consulte Criação de um projeto dbt e Uso de um projeto existente no site dbt.
Requisitos de instalação
Antes de instalar o dbt Core, você deve instalar o seguinte em sua máquina de desenvolvimento local:
Você também precisa de um dos seguintes para autenticar:
(Recomendado) dbt Core habilitado como um aplicativo OAuth em sua account. Isso está habilitado por default.
(Opcional) IdP personalizado para login dbt, consulte Configurar SSO em Databricks.
Um access tokenpessoal
Observação
Como prática recomendada de segurança ao autenticar com ferramentas, sistemas, scripts e aplicativos automatizados, a Databricks recomenda que você use tokens OAuth.
Se o senhor usar a autenticação pessoal access token, a Databricks recomenda o uso de pessoal access tokens pertencente à entidade de serviço em vez de usuários workspace. Para criar o site tokens para uma entidade de serviço, consulte gerenciar tokens para uma entidade de serviço.
o passo 1: Instalar o adaptador dbt Databricks
Recomendamos o uso de um ambiente virtualPython porque ele isola as versões do pacote e as dependências de código para esse ambiente específico, independentemente das versões do pacote e das dependências de código em outros ambientes. Isso ajuda a reduzir as incompatibilidades inesperadas de versões de pacotes e as colisões de dependências de código.
A Databricks recomenda a versão 1.8.0 ou superior do pacote dbt-databricks.
... importante:: Se a máquina de desenvolvimento local usar qualquer um dos sistemas operacionais a seguir, o senhor deverá concluir os passos adicionais primeiro: CentOS, MacOS, Ubuntu, Debian e Windows. Consulte a seção "Meu sistema operacional tem pré-requisitos?" de Use pip to install dbt no site do dbt Labs.
passo 2: Crie um projeto dbt e especifique e teste as configurações de conexão
Crie um projeto dbt (uma coleção de diretórios e arquivos relacionados necessários para usar o dbt). Em seguida, o senhor configura seus perfis de conexão, que contêm configurações de conexão para um Databricks compute, a SQL warehouseou ambos. Para aumentar a segurança, os projetos e perfis do dbt são armazenados em locais separados pelo default.
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 você for solicitado a escolher um banco de dados
databricks
ouspark
, digite o número que corresponde adatabricks
.Quando for solicitado um valor
host
, faça o seguinte:Para um compute, digite o valor do nome do host do servidor nas Opções avançadas, JDBC/ODBC tab para seu Databricks compute.
Para um SQL warehouse, insira o valor do servidor na hostname Detalhes da conexão do seu tab SQL warehouse.
Quando for solicitado um valor
http_path
, faça o seguinte:Para um compute, digite o valor do HTTP Path das Advanced Options, JDBC/ODBC tab para seu Databricks compute.
Para um SQL warehouse, insira o valor do Caminho HTTP na Detalhes da Conexão do seu tab SQL warehouse.
Para escolher um tipo de autenticação, insira o número que corresponde a
use oauth
(recomendado) ouuse access token
.Se você escolheu
use access token
como seu tipo de autenticação, insira o valor do seu access tokenpessoal do Databricks.Observação
Como prática recomendada de segurança ao se autenticar com ferramentas, sistemas, scripts e aplicativos automatizados, a Databricks recomenda que você use tokens OAuth.
Se o senhor usar a autenticação pessoal access token, a Databricks recomenda o uso de pessoal access tokens pertencente à entidade de serviço em vez de usuários workspace. Para criar o site tokens para uma entidade de serviço, consulte gerenciar tokens para uma entidade de serviço.
Quando for solicitado o valor
desired Unity Catalog option
, digite o número que corresponde ause Unity Catalog
ounot use Unity Catalog
.Se você escolheu usar o Unity Catalog, insira o valor desejado para
catalog
quando solicitado.Insira os valores desejados para
schema
ethreads
quando solicitado.dbt grava suas entradas em um arquivo
profiles.yml
. A localização deste arquivo está listada na saída do comandodbt init
. Você também pode listar esse local posteriormente executando o comandodbt debug --config-dir
. Você pode abrir este arquivo agora para examinar e verificar seu conteúdo.Se você escolheu
use oauth
como seu tipo de autenticação, adicione seu perfil de autenticação máquina a máquina (M2M) ou usuário a máquina (U2M) aprofiles.yml
.A seguir está um exemplo de arquivo
profiles.yml
com o perfilaws-oauth-u2m
especificado. Especificaraws-oauth-u2m
paratarget
define o perfil U2M como o perfil de execução default usado pelo dbt.my_dbt_demo: outputs: aws-oauth-u2m: catalog: uc_demos host: "xxx.cloud.databricks.com" http_path: "/sql/1.0/warehouses/9196548d010cf14d" schema: databricks_demo threads: 1 type: databricks auth_type: oauth target: aws-oauth-u2m
Databricks não recomenda especificar segredos em
profiles.yml
diretamente. Em vez disso, defina o ID do cliente e o segredo do cliente como variável de ambiente.Confirme os detalhes da conexão executando o comando
dbt debug
no diretóriomy_dbt_demo
.Se você escolheu
use oauth
para seu tipo de autenticação, será solicitado a entrar com seu provedor de identidade.Importante
Antes de começar, verifique se o site compute ou SQL warehouse está em execução.
Você deve ver 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óximos passos
Crie, execute e teste modelos dbt Core localmente. Veja o tutorial do dbt Core.
execução dbt Core projetos como Databricks Job tarefa. Consulte Usar dbt transformações em um trabalho Databricks .