Compartilhar via


Tarefa do dbt para trabalhos

Use a tarefa do dbt para configurar e executar projetos do dbt no Azure Databricks.

Importante

Quando as tarefas do dbt são executadas, o Databricks injeta o DBT_ACCESS_TOKEN para a entidade de segurança configurada no campo Executar como.

Configurar uma tarefa do dbt

Adicione uma tarefa dbt na guia Tarefas na interface do usuário de trabalhos fazendo o seguinte:

  1. No menu suspenso Tipo, selecione dbt.

  2. No menu suspenso Fonte, você pode selecionar Espaço de Trabalho para usar um projeto dbt localizado em uma pasta de espaço de trabalho do Azure Databricks ou Provedor Git para um projeto localizado em um repositório Git remoto.

    • Se você selecionar Espaço de trabalho, use o navegador de arquivos fornecido para selecionar o Diretório do projeto.

    • Se você selecionar Provedor do Git, clique em Editar para inserir informações do Git para o repositório do projeto. Confira Usar o Git com trabalhos.

      Se o projeto não estiver no diretório raiz do repositório, use o campo Diretório do projeto para especificar o caminho para ele.

  3. As caixas de texto de comandos do dbt usam por padrão os comandos dbt deps, dbt seed e dbt run. Os comandos fornecidos são executados em ordem sequencial. Adicione, remova ou edite esses campos conforme necessário para seu fluxo de trabalho. Confira O que são comandos dbt?.

  4. Em SQL Warehouse, selecione um SQL warehouse para executar o SQL gerado pelo dbt. O menu suspenso SQL warehouse mostra apenas os SQL warehouses sem servidor e pro.

  5. Especifique um Catálogo de depósito. Se não estiver definido, o padrão do espaço de trabalho será usado.

  6. Especifique um Esquema de depósito. Por padrão, o esquema default é usado.

  7. Escolha Computação da CLI do dbt para executar o dbt Core. O Databricks recomenda o uso da computação sem servidor para trabalhos ou computação de trabalhos clássica configurada com um cluster de nó único.

  8. Especifique uma versão do dbt-databricks para a tarefa.

    Se você usar computação Serverless, use o campo Ambiente e Bibliotecas para selecionar, editar ou adicionar um novo ambiente. Consulte Instalar dependências de notebooks.

    Para todas as outras configurações de computação, o campo Bibliotecas dependentes é preenchido como dbt-databricks>=1.0.0,<2.0.0 por padrão. Exclua essa configuração e + Adicionar uma biblioteca PyPi para fixar uma versão.

    Observação

    O Databricks recomenda fixar suas tarefas dbt a uma versão específica do pacote dbt-databricks para garantir que a mesma versão seja usada para execuções de desenvolvimento e produção. O Databricks recomenda a versão 1.6.0 ou superior do pacote dbt.databricks.

  9. Clique em Criar tarefa.

O que são comandos do dbt?

O campo Comandos do dbt permite especificar comandos a serem executados usando a interface de linha de comando (CLI) do dbt. Para ver os detalhes completos sobre a CLI do dbt, confira a documentação do dbt.

Verifique a documentação do dbt para ver os comandos compatíveis com a versão especificada do dbt.

Transmitir opções para comandos do dbt

A sintaxe de seleção de nó do dbt permite especificar recursos a serem incluídos ou excluídos em uma execução específica. Comandos como run e build aceitam sinalizadores, incluindo --select e --exclude. Confira os documentos de visão geral da sintaxe do dbt para obter uma descrição completa.

Sinalizadores adicionais de configuração controlam como o dbt executa seu projeto. Confira a coluna Opções de linha de comando nos documentos oficiais do dbt para obter uma lista de sinalizadores disponíveis.

Alguns sinalizadores recebem argumentos posicionais. Alguns argumentos para sinalizadores são cadeias de caracteres. Confira a documentação do dbt para obter exemplos e explicações.

Transmitir variáveis para comandos do dbt

Use o sinalizador --vars para transmitir valores estáticos ou dinâmicos para comandos em campos de comandos do dbt.

Você transmite um JSON delimitado por aspas simples para --vars. Todas as chaves e valores no JSON devem ser delimitados por aspas duplas, como no exemplo a seguir:

dbt run --vars '{"volume_path": "/Volumes/path/to/data", "date": "2024/08/16"}'

Exemplos de comandos parametrizados do dbt

Você pode fazer referência a valores de tarefa, parâmetros de trabalho e parâmetros de trabalho dinâmicos ao trabalhar com o dbt. Os valores são substituídos como texto sem formatação no campo de comandos do dbt antes que o comando seja executado. Para obter informações sobre como transmitir valores entre tarefas ou fazer referência a metadados de trabalhos, confira Parametrizar trabalhos.

Esses exemplos pressupõem que os seguintes parâmetros de trabalho foram configurados:

Nome do parâmetro Valor do parâmetro
volume_path /Volumes/path/to/data
table_name my_table
select_clause --select "tag:nightly"
dbt_refresh --full-refresh

Os exemplos a seguir mostram maneiras válidas de fazer referência a esses parâmetros:

dbt run '{"volume_path": "{{job.parameters.volume_path}}"}'
dbt run --select "{{job.parameters.table_name}}"
dbt run {{job.parameters.select_clause}}
dbt run {{job.parameters.dbt_refresh}}
dbt run '{"volume_path": "{{job.parameters.volume_path}}"}' {{job.parameters.dbt_refresh}}

Você também pode fazer referência a parâmetros dinâmicos e valores de tarefa, como nos exemplos a seguir:

dbt run --vars '{"date": "{{job.start_time.iso_date}}"}'
dbt run --vars '{"sales_count": "{{tasks.sales_task.values.sales_count}}"}'