Pular para o conteúdo principal

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:

  • Python 3.7 ou superior
  • Um utilitário para criar ambientes virtuais Python (como o pipenv)

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

nota

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.

important

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.

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

    Bash
    dbt init my_dbt_demo
  2. Quando você for solicitado a escolher um banco de dados databricks ou spark, insira o número que corresponde a databricks.

  3. Quando solicitado um valor host, faça o seguinte:

  4. Quando solicitado um valor http_path, faça o seguinte:

  5. Para escolher um tipo de autenticação, digite o número que corresponde a use oauth (recomendado) ou use access token.

  6. Se use access token o senhor escolheu para o tipo de autenticação, digite o valor dos Databricks tokens de acesso pessoal.

nota

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.

  1. Quando solicitado o valor desired Unity Catalog option, insira o número que corresponde a use Unity Catalog ou not use Unity Catalog.

  2. Se o senhor optar por usar o Unity Catalog, digite o valor desejado para catalog quando solicitado.

  3. Insira os valores desejados para schema e threads quando solicitado.

  4. O dbt grava suas entradas em um arquivo profiles.yml. O local desse arquivo é listado na saída do comando dbt init. O senhor também pode listar esse local posteriormente executando o comando dbt 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) a profiles.yml.

    Veja a seguir um exemplo de arquivo profiles.yml com o perfil aws-oauth-u2m especificado. Especificar aws-oauth-u2m para target 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-u2m

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

  5. Confirme os detalhes da conexão executando o comando dbt debug no diretório my_dbt_demo.

    Se você escolheu use oauth para seu tipo de autenticação, você será solicitado a entrar com seu provedor de identidade.

important

Antes de começar, verifique se o site compute ou SQL warehouse está em execução.

Você deve ver um resultado semelhante ao seguinte:

Bash
cd my_dbt_demo
dbt debug
Console
...
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

Recurso adicional