Pular para o conteúdo principal

Acessar valores de parâmetros de uma tarefa

Este artigo descreve como acessar os valores de parâmetros do código em sua tarefa, incluindo o Databricks Notebook, 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:

Em cada um desses casos, o senhor faz referência ao key do parâmetro para acessar seu valor. O endereço key às vezes é chamado de nome do parâmetro.

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.

Python
# 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:

Python
# 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 testes fora de um trabalho, também tem a desvantagem de ocultar quando os parâmetros da tarefa ou do trabalho não estão configurados corretamente.

Use parâmetros nomeados em um SQL Notebook

Ao executar o site SQL em uma tarefa do Notebook, o senhor pode usar a sintaxe de parâmetro nomeado para acessar os parâmetros da tarefa. Por exemplo, para acessar um parâmetro de tarefa chamado year_param, o senhor poderia obter seu valor usando :year_param na consulta:

SQL
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 script
  • Python Wheel
  • JAR
  • Spark Submit

Para obter detalhes, consulte Detalhes por tipo de tarefa, mais adiante neste artigo.

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

Quando o senhor estiver configurando uma tarefa na interface do usuário Databricks, use a sintaxe de referência de valor dinâmico para acessar os parâmetros da tarefa ou outros valores dinâmicos. Para acessar os parâmetros do Job, use a sintaxe: {{job.parameters.<name>}}. Por exemplo, ao configurar uma tarefa Python wheel, o senhor pode definir as entradas Key e Value de um parâmetro para fazer referência a um parâmetro Job chamado year_param, como year. / Year_{{job.parameters.year_param}}. Além de fornecer acesso aos parâmetros na configuração, os valores dinâmicos também dão acesso a outros dados sobre o Job ou a tarefa, por exemplo, o {{job.id}}. O senhor pode clicar em {} na configuração da tarefa para obter uma lista de possíveis valores dinâmicos e inseri-los em sua configuração.

Detalhes por tipo de tarefa

O método a ser usado pelo senhor depende do tipo de tarefa.

Tipo de tarefa

Acesso na configuração

Acesso em código

cadernos

O senhor pode usar referências de valores dinâmicos na interface do usuário do Databricks para configurar o Notebook (por exemplo, para fazer referência aos parâmetros do Job 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 parâmetros diferentes.

O senhor pode usar parâmetros nomeados para SQL em seu Notebook ou dbutils.widgets em seu código.

Script Python

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.

Python Wheel

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 Usar um arquivo Python wheel em um trabalho Databricks.

SQL

O senhor pode usar referências de valores dinâmicos na configuração da tarefa.

Use parâmetros nomeados para acessar os valores dos parâmetros.

Pipeline

O pipeline não suporta a passagem de parâmetros para a tarefa.

Não compatível.

dbt

O senhor pode usar referências de valores dinâmicos para passar parâmetros como dbt comando ao configurar sua tarefa.

Acesse como dbt comando.

JAR

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.

Spark Submit

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.

Executar job

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.

Condição if/else

O senhor pode usar referências de valores dinâmicos ao configurar sua tarefa, por exemplo, na Condição .

Não aplicável.

Para cada

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.

Os parâmetros de acesso à tarefa aninhada, com base no tipo de tarefa.

Caderno de anotações de sala limpa

O senhor pode usar referências de valores dinâmicos na interface do usuário do Databricks para configurar o Notebook (por exemplo, para fazer referência aos parâmetros do Job nos valores dos parâmetros da tarefa).

O senhor pode usar parâmetros nomeados para SQL em seu Notebook ou dbutils.widgets em seu código.