Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Acede aos valores dos parâmetros a partir do código das suas tarefas, incluindo notebooks do Azure Databricks, scripts Python e ficheiros 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 destes casos, utiliza a chave do parâmetro para obter o respetivo valor. A chave às vezes é referida como o nome do parâmetro.
Para ver estas técnicas aplicadas num trabalho orientado por metadados que utiliza uma tarefa SQL e uma For each tarefa, veja Usar uma tabela de controlo para gerar um For each trabalho.
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 seguinte mostra como usar dbutils em Python para obter o valor de um parâmetro de tarefa year_param que é passado para a tarefa do caderno.
# 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 um parâmetro de trabalho e um parâmetro de tarefa partilham uma chave, o parâmetro de tarefa tem precedência. Consulte Pushdown de parâmetros de trabalho.
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 isto seja útil para testes fora de uma tarefa, também oculta parâmetros de tarefa ou de job mal configurados.
Usar parâmetros nomeados em SQL
Quando está a executar SQL num bloco de notas ou numa tarefa de pipeline, pode usar a sintaxe de parâmetros nomeados para obter os parâmetros da tarefa. Por exemplo, para recuperar um parâmetro de tarefa chamado year_param, pode obter o seu valor usando :year_param na 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 mais detalhes, consulte Detalhes por tipo de tarefa, mais adiante nesta página.
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
Quando estiver a configurar uma tarefa na interface do Azure Databricks, use a sintaxe de referência de valores dinâmicos para recuperar parâmetros de trabalho ou outros valores dinâmicos. Para recuperar parâmetros de trabalho, use a sintaxe: {{job.parameters.<name>}}. Por exemplo, ao configurar uma tarefa Python wheel, pode definir as entradas Key e Value de um parâmetro para referenciar um parâmetro Job chamado year_param, 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 | Obter na configuração | Recuperar em código |
|---|---|---|
| Computadores portáteis | Pode usar referências dinâmicas de valores na interface do Azure Databricks para configurar o caderno (por exemplo, para consultar parâmetros de trabalho nos valores dos parâmetros da 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 em 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. |
| wheel Python | Os parâmetros definidos na definição de tarefa são passados como argumentos de palavra-chave para o seu código. Os teus ficheiros de roda em Python devem estar configurados para aceitar argumentos de palavras-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 num script Python empacotados num ficheiro Python wheel, veja Use um ficheiro Python wheel em Lakeflow Jobs. |
| SQL | Você pode usar referências de valor dinâmico na configuração da tarefa. | Use parâmetros nomeados para recuperar os valores dos parâmetros. |
| Pipeline (os parâmetros estão em Beta) | 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. | Use parâmetros nomeados para recuperar os valores dos parâmetros. |
| Painel de Controlo | Pode pré-aplicar valores de filtro configurando filtros do Dashboard na tarefa. Se o Identificador URL de um filtro corresponder a uma chave de parâmetro ao nível do trabalho, a tarefa aplica automaticamente o valor desse parâmetro ao filtro. | Não aplicável. |
| 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 recuperam parâmetros com base no tipo de tarefa. |
| Caderno de sala limpa | Pode usar referências dinâmicas de valores na interface do Azure Databricks para configurar o caderno (por exemplo, para consultar parâmetros de trabalho nos valores dos parâmetros da tarefa). | Você pode usar parâmetros nomeados para SQL em seu bloco de anotações ou dbutils.widgets em seu código. |