Trabalhos parametrizados
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 enviado para tarefas. Consulte Configurar parâmetros do trabalho.
- Parâmetro de tarefa: um par de chave-valor ou matriz JSON definida no nível da tarefa. Consulte Configurar parâmetros de tarefa.
- Referências de valor dinâmico: uma sintaxe para fazer referência a 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 as 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:
- Adicionar lógica extensível a ativos de código.
- Condicionalizar execuções.
- Fazer referência a parâmetros comuns em várias tarefas.
- Use as informações geradas em uma tarefa em outra tarefa.
- Metadados de referência e informações de estado na execução do trabalho.
Qual é a diferença entre os parâmetros de trabalho e de tarefa?
Os parâmetros de trabalho são pares de chave-valor definidos no nível do trabalho. Você pode substituir as configurações padrão para parâmetros de trabalho ao Executar agora com parâmetros diferentes ou disparar uma execução de trabalho usando a API REST. Os parâmetros de trabalho são enviados para tarefas que usam parâmetros de chave-valor. Outras tarefas podem fazer referência a parâmetros de trabalho usando referências de valor dinâmico.
Parâmetro de tarefa são pares de chave-valor ou matriz JSON definidos 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 notebook usam o submódulo dbutils.widgets
, enquanto os scripts Python passam valores como argumentos para o script como se ele estivesse sendo chamado da linha de comando. As tarefas downstream podem fazer referência a parâmetros de tarefa de tarefas upstream usando referências de valor dinâmico.
Observação
Algumas tarefas não têm um campo Parâmetros dedicado, mas permitem referências a valores de tarefa ou referências de valor dinâmico em outros campos. Consulte Exemplos de comandos dbt parametrizados e Adicionar lógica de ramificação a um trabalho com a tarefa If/else.
Criar 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 ao Executar agora com parâmetros diferentes ou disparar 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:
- Usar um parâmetro de trabalho como o
output_table
para uma tarefa e oinput_table
para outra. - Capturar a saída de uma consulta de notebook como uma lista e faça um loop sobre ela em uma tarefa Para cada.
- Criar lógica de bifurcação com base no número de registros processados usando uma tarefa de condição If/else.
- Consulte os parâmetros de outras tarefas.