Conectar 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 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, o senhor deve instalar o seguinte em seu computador de desenvolvimento local:
Você também precisa de uma das seguintes opções para se autenticar:
-
(Recomendado) dbt Core ativado como um aplicativo OAuth em seu account. Isso é ativado por default.
(Opcional) IdP personalizado para login dbt, consulte Configurar SSO em Databricks.
-
A tokens de acesso pessoal
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 de tokens de acesso pessoal, a Databricks recomenda usar o acesso pessoal tokens pertencente à entidade de serviço em vez de usuários workspace. Para criar tokens o site para uma entidade de serviço, consulte gerenciar tokens para uma entidade de serviço.
Etapa 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.
Se sua máquina de desenvolvimento local usar qualquer um dos seguintes sistemas operacionais, primeiro você deve concluir as passos adicionais: 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 dbt e especificar e testar 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
.Bashdbt init my_dbt_demo
-
Quando você for solicitado a escolher um banco de dados
databricks
ouspark
, insira o número que corresponde adatabricks
. -
Quando solicitado um valor
host
, faça o seguinte:- Para compute um, digite o valor do Server Hostname das Advanced Options, JDBC/ODBC tab para seu Databricks compute.
- Para um SQL warehouse, digite o valor do Server Hostname do Connection Details tab para seu SQL warehouse.
-
Quando solicitado um valor
http_path
, faça o seguinte:- Para compute um, digite o valor do HTTP Path das Advanced Options, JDBC/ODBC tab para seu Databricks compute.
- Para um SQL warehouse, digite o valor do HTTP Path do Connection Details tab para seu SQL warehouse.
-
Para escolher um tipo de autenticação, digite o número que corresponde a
use oauth
(recomendado) ouuse access token
. -
Se
use access token
o senhor escolheu para o tipo de autenticação, digite o valor dos Databricks tokens de acesso pessoal.
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 de tokens de acesso pessoal, a Databricks recomenda usar o acesso pessoal tokens pertencente à entidade de serviço em vez de usuários workspace. Para criar tokens o site para uma entidade de serviço, consulte gerenciar tokens para uma entidade de serviço.
-
Quando solicitado o valor
desired Unity Catalog option
, insira o número que corresponde ause Unity Catalog
ounot use Unity Catalog
. -
Se o senhor optar por usar o Unity Catalog, digite 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
. O senhor também pode listar esse local posteriormente executando o comandodbt debug --config-dir
. Você pode abrir esse arquivo agora para examinar e verificar seu conteúdo.Se você escolheu
use oauth
para 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
.Veja a seguir 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 por 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-u2mA Databricks não recomenda a especificação direta de segredos em
profiles.yml
. 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, você será solicitado a entrar com seu provedor de identidade.
Antes de começar, verifique se o site compute ou SQL warehouse está em execução.
Você deve ver um resultado semelhante ao 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 localmente os modelos do dbt Core. Consulte o tutorial do dbt Core.
- execução dbt Core projetos como Databricks Job tarefa. Consulte Usar dbt transformações em um trabalho Databricks.