Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve como acessar valores de parâmetros de código em suas tarefas, incluindo blocos de anotações Databricks, scripts Python e arquivos SQL.
Os parâmetros incluem parâmetros definidos pelo utilizador, valores de saída de tarefas anteriores e valores de metadados gerados pela tarefa. Consulte Parametrizar trabalhos.
Embora os detalhes variem de acordo com o tipo de tarefa, há quatro métodos comuns usados para referenciar valores de parâmetros do código-fonte:
- Widgets de utilitários Databricks
- Sintaxe do parâmetro nomeado SQL
- Referências de valores dinâmicos
- Argumentos de código
Em cada um desses casos, você faz referência à chave do parâmetro para acessar seu valor. A chave às vezes é referida como o nome do parâmetro.
Usar dbutils no código em um notebook
O código do notebook em execução numa 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 no 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 você tiver parâmetros de tarefa e parâmetros de trabalho com o mesmo nome, os parâmetros de trabalho serão buscados.
O código acima produz um erro quando executado em um bloco de anotações autônomo e não como parte de um trabalho porque os parâmetros não são enviados para um bloco de anotações autônomo. Você pode definir um padrão 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 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.
Usar parâmetros nomeados em um bloco de anotações SQL
Quando estiver a executar SQL numa tarefa de notebook, pode usar a sintaxe do parâmetro nomeado para aceder aos parâmetros da tarefa. Por exemplo, para acessar um parâmetro de tarefa chamado year_param, você pode obter seu valor usando :year_param em sua consulta:
SELECT *
FROM baby_names_prepared
WHERE Year_Of_Birth = :year_param
GROUP BY First_Name
Access como argumentos de código
Para alguns tipos de tarefas, 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 neste artigo.
Para tarefas dbt, os parâmetros são passados chamando comandos dbt em sua tarefa.
Usar referências de valor dinâmico ao configurar uma tarefa
Ao configurar uma tarefa na interface do utilizador do Azure Databricks, utilize a sintaxe de referência de valor dinâmico para aceder a parâmetros da tarefa ou outros valores dinâmicos. Para acessar os parâmetros do trabalho, use a sintaxe: {{job.parameters.<name>}}. Por exemplo, ao configurar uma tarefa Python wheel, é possível definir as entradas de um parâmetro, como a Chave e o Valor , para referenciar um parâmetro de tarefa denominado year_param, tal como year / Year_{{job.parameters.year_param}}. Além de fornecer acesso a parâmetros na configuração, os valores dinâmicos também lhe dão acesso a outros dados sobre o seu trabalho 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 em sua configuração.
Detalhes por tipo de tarefa
Qual desses métodos você usa depende do tipo de tarefa.
| Tipo de tarefa | Acesso às configurações | Acesso em código |
|---|---|---|
| Computadores portáteis | Você pode usar referências de valor dinâmico na interface do usuário do Azure Databricks para configurar o bloco de anotações (por exemplo, para fazer referência a parâmetros de trabalho nos valores de parâmetro de tarefa). Você pode substituir ou adicionar parâmetros adicionais ao executar manualmente uma tarefa usando a opção Executar um trabalho com configurações diferentes . | Você pode usar parâmetros nomeados para SQL em seu bloco de anotações ou dbutils.widgets em seu código. |
| Script Python | Os parâmetros definidos na tarefa são passados como argumentos para o script. Você pode usar referências de valor dinâmico na caixa de texto Parâmetros. | Os parâmetros podem ser lidos como argumentos posicionais ou analisados usando o módulo argparse em Python. |
| Roda Python | Os parâmetros definidos na definição de tarefa são passados como argumentos de palavra-chave para o seu código. Seus arquivos de roda Python devem ser configurados para aceitar argumentos de palavra-chave. Você pode usar referências de valor dinâmico nos valores de seus parâmetros. | Aceda como argumentos de palavra-chave ao seu script. Para ver um exemplo de leitura de argumentos em um script Python empacotado em um arquivo de roda Python, consulte Usar um arquivo de roda Python em Lakeflow Jobs. |
| SQL | Você pode usar referências de valor dinâmico na configuração da tarefa. | Use parâmetros nomeados para acessar valores de parâmetros. |
| Gasoduto | Os pipelines não suportam a passagem de parâmetros para a tarefa. | Não suportado. |
| Painel de Controlo | As tarefas do painel não suportam a passagem de parâmetros para a tarefa. | Não suportado. |
| Power BI | As tarefas do Power BI não suportam a passagem de parâmetros para a tarefa. | Não suportado. |
| DBT | Você pode usar referências de valor dinâmico para passar parâmetros como comandos dbt ao configurar sua tarefa. |
Acesso como comandos dbt. |
| JAR | Você pode usar referências de valor dinâmico para passar parâmetros como argumentos na caixa de texto Parâmetros ao configurar sua tarefa. | Os parâmetros são acessados como argumentos para o método principal da classe principal. |
| Enviar trabalho no Spark | Você pode usar referências de valor dinâmico para passar parâmetros como argumentos na caixa de texto Parâmetros ao configurar sua tarefa. | Os parâmetros são acessados como argumentos para o método principal da classe principal. |
| Executar Tarefa | Você pode usar referências de valor dinâmico para criar um conjunto de parâmetros de trabalho ao configurar sua tarefa. Os valores podem incluir referências de valor dinâmico. | Não aplicável. |
| Condição if/else | Você pode usar referências de valor dinâmico ao configurar sua tarefa, por exemplo, na Condição. | Não aplicável. |
| Para cada | Você pode usar referências de valor dinâmico ao configurar os Inputs na sua tarefa. A tarefa aninhada recebe uma entrada como parâmetro de tarefa para cada iteração da tarefa aninhada. | As tarefas aninhadas acessam parâmetros, com base no tipo de tarefa. |
| Caderno de sala limpa | Você pode usar referências de valor dinâmico na interface do usuário do Azure Databricks para configurar o bloco de anotações (por exemplo, para fazer referência a parâmetros de trabalho nos valores de parâmetro de tarefa). | Você pode usar parâmetros nomeados para SQL em seu bloco de anotações ou dbutils.widgets em seu código. |