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:

  • Python 3.7 ou superior

  • A utilidades para criar ambientes virtuais Python (como pipenv)

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.

  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.

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

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

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

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

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

  7. Quando for solicitado o valor desired Unity Catalog option , digite o número que corresponde a use Unity Catalog ou not use Unity Catalog.

  8. Se você escolheu usar o Unity Catalog, insira o valor desejado para catalog quando solicitado.

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

  10. dbt grava suas entradas em um arquivo profiles.yml . A localização deste arquivo está listada na saída do comando dbt init . Você também pode listar esse local posteriormente executando o comando dbt 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) a profiles.yml.

    A seguir está 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 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.

  11. 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, 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