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:
No menu suspenso Tipo, selecione
dbt
.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.
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?.
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.
Especifique um Catálogo de depósito. Se não estiver definido, o padrão do espaço de trabalho será usado.
Especifique um Esquema de depósito. Por padrão, o esquema
default
é usado.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.
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.
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}}"}'