Parametrizar trabalhos
Este artigo fornece uma visão geral do uso de parâmetros com trabalhos e tarefas.
A seguir estão os conceitos fundamentais para entender os parâmetros para trabalhos:
- Parâmetro de trabalho: um par chave-valor definido no nível do trabalho e empurrado para as tarefas. Consulte Configurar parâmetros de trabalho.
- Parâmetro da tarefa: um par chave-valor ou matriz JSON definida no nível da tarefa. Consulte Configurar parâmetros da tarefa.
- Referências de valor dinâmico: uma sintaxe para referenciar condições de trabalho, metadados e parâmetros. Consulte O que é uma referência de valor dinâmico?.
- Valores de tarefa: uma sintaxe para capturar e referenciar valores gerados durante execuções de tarefas. Consulte Usar valores de tarefa para passar informações entre tarefas.
O que você pode fazer com parâmetros?
Adicione parâmetros a trabalhos e tarefas para casos de uso avançados, incluindo o seguinte:
- Adicione lógica extensível aos ativos de código.
- Condicionalize execuções.
- Faça referência a parâmetros comuns em várias tarefas.
- Use as informações geradas em uma tarefa em outra.
- Metadados de referência e informações de estado na execução do trabalho.
Qual é a diferença entre parâmetros de trabalho e tarefa?
Os parâmetros de trabalho são pares chave-valor definidos no nível do trabalho. Você pode substituir as configurações padrão para parâmetros de trabalho quando Executar agora com parâmetros diferentes ou acionar uma execução de trabalho usando a API REST. Os parâmetros de trabalho são empurrados para tarefas que usam parâmetros chave-valor. Outras tarefas podem fazer referência a parâmetros de trabalho usando referências de valor dinâmico.
Os parâmetros de tarefa são pares chave-valor de matrizes JSON definidas no nível da tarefa. Cada tipo de tarefa passa valores de tarefa para os ativos de código configurados de forma diferente. Por exemplo, as tarefas do bloco de anotações usam o dbutils.widgets
submódulo, enquanto os scripts Python passam valores como argumentos para o script como se ele estivesse sendo chamado da linha de comando. As tarefas a jusante podem referenciar parâmetros de tarefas a partir de tarefas a montante utilizando referências de valor dinâmico.
Nota
Algumas tarefas não têm um campo Parâmetros dedicado, mas permitem referências a valores de tarefas ou referências de valores dinâmicos em outros campos. Consulte Exemplos de comandos dbt parametrizados e Adicionar lógica de ramificação a um trabalho com a tarefa If/else.
Crie fluxos de trabalho usando valores dinâmicos
Os parâmetros de tarefa definidos com valores estáticos só podem ser substituídos atualizando a definição da tarefa. Definir um valor estático para um parâmetro de trabalho é apenas configurar um valor padrão, que você pode substituir quando Executar agora com parâmetros diferentes ou acionar uma execução de trabalho usando a API REST.
Use referências de valor dinâmico ao definir parâmetros de tarefa para implementar padrões como os seguintes:
- Use um parâmetro de trabalho como o
output_table
para uma tarefa e oinput_table
para outra. - Capture a saída de uma consulta de bloco de anotações como uma lista e faça um loop sobre ela em um Para cada tarefa.
- Criação de lógica de bifurcação com base no número de registros processados usando uma tarefa de condição If/else.
- Consulte parâmetros de outras tarefas.