Acessar valores de parâmetros de uma tarefa
Esta página descreve como acessar valores de parâmetros do código em suas tarefas, incluindo Notebooks Databricks, scripts Python e arquivos SQL.
Os parâmetros incluem parâmetros definidos pelo usuário, valores de saída da tarefa upstream e valores de metadados gerados pelo Job. Consulte Parameterize Job.
Embora os detalhes variem de acordo com o tipo de tarefa, há quatro métodos comuns usados para fazer referência a valores de parâmetros do código-fonte:
- Databricks utilidades widgets
- Sintaxe de parâmetro nomeado do SQL
- Referências de valores dinâmicos
- Argumentos de código
Em cada um desses casos, faz-se referência à key do parâmetro para recuperar seu valor. A key é por vezes referida como o nome do parâmetro.
Para ver essas técnicas aplicadas em um Job orientado por metadados que usa uma tarefa SQL e uma tarefa For each , consulte Usar uma tabela de controle para controlar um Job For each.
Usar dbutils no código em um Notebook
Notebook O código executado em uma tarefa pode acessar os valores dos parâmetros com a biblioteca dbutils. O exemplo a seguir mostra como usar dbutils em Python para obter o valor de um parâmetro de tarefa year_param que é passado para a tarefa do Notebook.
# Retrieve a job-level parameter
year_value = dbutils.widgets.get("year_param")
# Use the value in your code
display(babynames.filter(babynames.Year == year_value))
Os parâmetros são acessados pelo nome. Se o senhor tiver parâmetros de tarefa e parâmetros de trabalho com o mesmo nome, os parâmetros de trabalho serão obtidos.
O código acima produz um erro quando executado em um Notebook autônomo e não como parte de um trabalho, pois os parâmetros não são enviados para um Notebook autônomo. O senhor pode definir um default para o parâmetro year_param com o seguinte código:
# Set a default (for when not running in a job)
dbutils.widgets.text("year_param", "2012", "Year Parameter")
# Retrieve a job-level parameter (will use default if it doesn't exist)
year_value = dbutils.widgets.get("year_param")
# Use the value in your code
display(babynames.filter(babynames.Year == year_value))
Embora isso seja útil para testar fora de um job, também mascara parâmetros de tarefa ou de job mal configurados.
Usar parâmetros nomeados no SQL
Ao executar SQL em uma tarefa de Notebook ou pipeline, é possível usar a sintaxe do parâmetro nomeado para recuperar parâmetros da tarefa. Por exemplo, para recuperar um parâmetro de tarefa chamado year_param, é possível obter o valor dele usando :year_param em sua consulta:
SELECT *
FROM baby_names_prepared
WHERE Year_Of_Birth = :year_param
GROUP BY First_Name
Acesso como argumentos de código
Para alguns tipos de tarefa, os parâmetros são passados para o código como argumentos. Os seguintes tipos de tarefa têm argumentos passados para eles:
Python scriptPython WheelJARSpark Submit
Para obter detalhes, consulte Detalhes por tipo de tarefa, mais adiante nesta página.
Para dbt tarefa, os parâmetros são passados chamando dbt comando em sua tarefa.
Usar referências de valores dinâmicos ao configurar uma tarefa
Ao configurar uma tarefa na interface do usuário do Databricks, use a sintaxe de referência de valor dinâmico para recuperar parâmetros de Job ou outros valores dinâmicos. Para recuperar parameters do job, use a sintaxe: {{job.parameters.<name>}}. Por exemplo, ao configurar uma tarefa Python wheel, você pode definir as entradas Key e Value de um parâmetro para referenciar um parâmetro de Job chamado year_param, como year / Year_{{job.parameters.year_param}}. Além de fornecer acesso a parâmetros na configuração, valores dinâmicos também dão acesso a outros dados sobre o seu Job ou tarefa, por exemplo, o {{job.id}}. Você pode clicar em {} na configuração da tarefa para obter uma lista de possíveis valores dinâmicos e inseri-los na sua configuração.
Detalhes por tipo de tarefa
O método a ser usado pelo senhor depende do tipo de tarefa.
Tipo de tarefa | Recuperar na configuração | Recuperar em código |
|---|---|---|
O senhor pode usar referências de valores dinâmicos na interface do usuário Databricks para configurar o Notebook (por exemplo, para fazer referência aos parâmetros do trabalho nos valores dos parâmetros da tarefa). O senhor pode substituir ou adicionar parâmetros adicionais ao executar manualmente uma tarefa usando a opção executar um trabalho com configurações diferentes. | O senhor pode usar parâmetros nomeados para SQL em seu Notebook ou | |
Os parâmetros definidos na tarefa são passados como argumentos para o seu script. Você pode usar referências de valores dinâmicos na caixa de texto Parâmetros . | Os parâmetros podem ser lidos como argumentos posicionais ou analisados usando o módulo argparse em Python. | |
Os parâmetros definidos na definição da tarefa são passados como argumentos de palavras-chave para o seu código. Seus arquivos Python wheel devem ser configurados para aceitar argumentos de palavras-chave. Você pode usar referências de valores dinâmicos nos valores dos seus parâmetros. | Acesse como argumentos de palavra-chave ao seu script. Para ver um exemplo de leitura de argumentos em um pacote de scripts Python em um arquivo Python wheel, consulte Use a Python wheel file in LakeFlow Jobs. | |
O senhor pode usar referências de valores dinâmicos na configuração da tarefa. | Utilize parâmetros nomeados para recuperar valores de parâmetros. | |
O senhor pode usar referências de valores dinâmicos para passar parâmetros como argumentos na caixa de texto Parâmetros ao configurar a tarefa. | Utilize parâmetros nomeados para recuperar valores de parâmetros. | |
O senhor pode usar referências de valores dinâmicos para passar parâmetros como | Acesse como | |
O senhor pode usar referências de valores dinâmicos para passar parâmetros como argumentos na caixa de texto Parâmetros ao configurar a tarefa. | Os parâmetros são acessados como argumentos para o método principal da classe principal. | |
O senhor pode usar referências de valores dinâmicos para passar parâmetros como argumentos na caixa de texto Parâmetros ao configurar a tarefa. | Os parâmetros são acessados como argumentos para o método principal da classe principal. | |
O senhor pode usar referências de valores dinâmicos para criar um conjunto de Job Parameters ao configurar sua tarefa. Os valores podem incluir referências de valores dinâmicos. | Não aplicável. | |
O senhor pode usar referências de valores dinâmicos ao configurar sua tarefa, por exemplo, na Condição . | Não aplicável. | |
O senhor pode usar referências de valores dinâmicos ao configurar os Inputs para a sua tarefa. A tarefa aninhada recebe uma entrada como parâmetro de tarefa para cada iteração da tarefa aninhada. | As tarefas aninhadas recuperam parâmetros com base no tipo de tarefa. |