dbt tarefa for Job

Use a tarefa dbt para configurar e executar projetos dbt em Databricks.

Importante

Quando dbt tarefa execução, Databricks injeta o DBT_ACCESS_TOKEN para o principal configurado no campo execução As.

Configurar uma tarefa dbt

Adicione uma tarefa dbt da tarefa tab na interface do usuário de Jobs fazendo o seguinte:

  1. No menu suspenso Tipo, selecione dbt.

  2. No menu suspenso Source (Fonte ), o senhor pode selecionar o espaço de trabalho para usar um projeto dbt localizado em uma pasta Databricks workspace ou o provedorGit para um projeto localizado em um repositório Git remoto.

    • Se o senhor selecionar o espaço de trabalho, use o navegador de arquivos fornecido para selecionar o diretório do projeto.

    • Se o senhor selecionar o provedorGit , clique em Edit para inserir as informações do Git para o repositório do projeto. Consulte Use Git with Job.

      Se o projeto não estiver no diretório raiz do site repo, use o campo Project directory (Diretório do projeto ) para especificar o caminho para ele.

  3. As caixas de texto dbt comando default para o comando dbt deps, dbt seed e dbt execução. A execução do comando fornecido em ordem sequencial. Adicione, remova ou edite esses campos conforme necessário para seu fluxo de trabalho. Veja o que é dbt comando?

  4. Em SQL warehouse, selecione um SQL warehouse para executar o SQL gerado pelo dbt. O menu suspenso SQL warehouse O menu suspenso mostra apenas serverless e pro SQL warehouse.

  5. Especifique um catálogo de armazém. Se não for definido, será usado o endereço workspace default .

  6. Especifique um esquema de armazém. Em default, o esquema default é usado.

  7. Escolha dbt CLI compute para executar dbt Core. Databricks Recomenda-se usar o Job compute configurado com um único nó cluster.

  8. Especifique uma versão dbt-databricks para a tarefa no campo Biblioteca dependente.

    Em default, o campo Dependent biblioteca é preenchido com dbt-databricks>=1.0.0,<2.0.0. Exclua essa configuração e + Adicione uma biblioteca PyPi para pin uma versão.

    Observação

    Databricks recomenda fixar sua tarefa dbt em uma versão específica do pacote dbt-databricks para garantir que a mesma versão seja usada para desenvolvimento e execução em produção. A Databricks recomenda a versão 1.6.0 ou superior do pacote dbt-databricks.

  9. Clique em Criar tarefa.

O que é dbt comando?

O campo dbt comando permite que o senhor especifique o comando para execução usando a interface de linha dbt comando (CLI). Para obter detalhes completos sobre a CLI do dbt, consulte a documentação do dbt.

Verifique a documentação do site dbt para saber se o comando é compatível com a versão especificada do site dbt.

Passe as opções para dbt comando

A sintaxe de seleção do nó dbt permite que o senhor especifique o recurso a ser incluído ou excluído em uma determinada execução. como run e build aceitam sinalizadores como --select e --exclude. Consulte os documentos de visão geral da sintaxe do dbt para obter uma descrição completa.

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

Algumas bandeiras aceitam argumentos posicionais. Alguns argumentos para os sinalizadores são strings. Consulte a documentação do dbt para obter exemplos e explicações.

Passe variáveis para dbt comando

Use o sinalizador --vars para passar valores estáticos ou dinâmicos para o comando nos campos dbt comando.

O senhor passa um JSON delimitado por aspas simples para --vars. Todas as chaves e valores no site 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 parametrização do dbt comando

O senhor pode fazer referência a valores de tarefa, parâmetros de trabalho e parâmetros dinâmicos de trabalho ao trabalhar com o site dbt. Os valores são substituídos como texto simples no campo dbt comando antes da execução do comando. Para obter informações sobre como passar valores entre tarefas ou fazer referência a metadados de trabalhos, consulte Parametrizar trabalhos.

Esses exemplos pressupõem que os seguintes parâmetros de trabalho tenham sido 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 formas válidas de referenciar 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}}

O senhor 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}}"}'