Tarefa DBT para trabalhos
Use a tarefa dbt para configurar e executar projetos dbt no Azure Databricks.
Importante
Quando as tarefas dbt são executadas, o Databricks injeta o DBT_ACCESS_TOKEN
para a entidade configurada no campo Executar como .
Configurar uma tarefa dbt
Adicione uma dbt
tarefa da guia Tarefas na interface do usuário Trabalhos fazendo o seguinte:
No menu suspenso Tipo, selecione
dbt
.No menu suspenso Origem, 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 Projeto.
Se você selecionar Provedor Git, clique em Editar para inserir informações do Git para o repositório do projeto. Consulte Usar o Git com trabalhos.
Se o seu projeto não estiver no diretório raiz do repo, use o campo Diretório do projeto para especificar o caminho para ele.
As caixas de texto dos comandos dbt são padronizadas para 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. Consulte O que são comandos dbt?.
No SQL warehouse, selecione um SQL warehouse para executar o SQL gerado pelo dbt. O menu suspenso SQL warehouse mostra apenas armazéns SQL sem servidor e pro SQL.
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 dbt CLI compute para executar dbt Core. O Databricks recomenda o uso de computação sem servidor para trabalhos ou computação de trabalhos clássicos configurada com um cluster de nó único.
Especifique uma
dbt-databricks
versão para a tarefa.Se você usar
Serverless
computação, use o campo Ambiente e Bibliotecas para selecionar, editar ou adicionar um novo ambiente. Consulte Instalar dependências do bloco de anotações.Para todas as outras configurações de computação, o campo Bibliotecas dependentes é preenchido por
dbt-databricks>=1.0.0,<2.0.0
padrão. Exclua essa configuração e + Adicione uma biblioteca PyPi para fixar uma versão.Nota
O Databricks recomenda fixar suas tarefas dbt em 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 dbt?
O campo de comandos dbt permite especificar comandos a serem executados usando a interface de linha de comando (CLI) dbt. Para obter detalhes completos sobre a CLI do dbt, consulte a documentação do dbt.
Verifique a documentação do dbt para obter os comandos suportados pela versão especificada do dbt.
Passar opções para comandos dbt
A sintaxe de seleção do nó 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
. Consulte os documentos de visão geral da sintaxe dbt para obter uma descrição completa.
Sinalizadores de configuração adicionais controlam como o dbt executa seu projeto. Consulte a coluna Opções de linha de comando nos documentos oficiais do dbt para obter uma lista de sinalizadores disponíveis.
Algumas bandeiras têm argumentos posicionais. Alguns argumentos para sinalizadores são strings. Consulte a documentação do dbt para obter exemplos e explicações.
Passar variáveis para comandos dbt
Use o --vars
sinalizador para passar valores estáticos ou dinâmicos para comandos em campos de comandos dbt.
Você passa um JSON delimitado por aspas únicas 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 dbt parametrizados
Você pode fazer referência a valores de tarefa, parâmetros de trabalho e parâmetros dinâmicos de trabalho ao trabalhar com dbt. Os valores são substituídos como texto sem formatação no campo de comandos dbt antes da execução do comando. Para obter informações sobre como passar valores entre tarefas ou referenciar metadados de trabalhos, consulte Parametrizar trabalhos.
Estes 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 tarefas, 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}}"}'