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.
Widgets de bloco de anotações antigos:
Advertência
A ${param} sintaxe para acessar valores de widget foi preterida no Databricks Runtime 15.2 e superior. Use a sintaxe atual dos widgets Databricks, (:param) em vez disso.
Esta página mostra como usar a sintaxe herdada ${param} para widgets de blocos de anotações executados no Databricks Runtime 15.1 e inferior. O Databricks recomenda que você migre para a sintaxe atual.
Usar valores de widget no Databricks Runtime 15.1 e abaixo
Esta seção descreve como passar valores de widgets Databricks para %sql células de bloco de anotações no Databricks Runtime 15.1 e abaixo.
- Crie widgets para especificar valores de texto.
Python
dbutils.widgets.text("database", "")
dbutils.widgets.text("table", "")
dbutils.widgets.text("filter_value", "100")
Scala
dbutils.widgets.text("database", "")
dbutils.widgets.text("table", "")
dbutils.widgets.text("filter_value", "100")
R
dbutils.widgets.text("database", "")
dbutils.widgets.text("table", "")
dbutils.widgets.text("filter_value", "100")
SQL
CREATE WIDGET TEXT database DEFAULT ""
CREATE WIDGET TEXT table DEFAULT ""
CREATE WIDGET TEXT filter_value DEFAULT "100"
Passe os valores do widget usando a
${param}sintaxe.SELECT * FROM ${database}.${table} WHERE col == ${filter_value} LIMIT 100
Observação
Para escapar do $ caractere em uma cadeia de caracteres SQL literal, use \$. Por exemplo, para expressar a cadeia de caracteres $1,000, use "\$1,000". O $ caractere não pode ser escapado para identificadores SQL.
Migrar para marcadores de parâmetros
A tabela a seguir mostra casos de uso comuns para parâmetros, a sintaxe original do widget do Azure Databricks (preterida no Databricks Runtime 15.2 e superior) e a sintaxe equivalente usando a sintaxe do marcador de parâmetro nomeado (com suporte no Databricks Runtime 15.2 e superior).
| Caso de uso de parâmetros |
${param} sintaxe original do widget (preterida a partir do Databricks Runtime 15.2 e superior) |
:param sintaxe do marcador de parâmetro (suportada a partir do Databricks Runtime 15.2 e superior) |
|---|---|---|
| Carregar apenas dados antes de uma data especificada | WHERE date_field < '${date_param}'Você deve incluir aspas em torno do parâmetro date e colchetes. |
WHERE date_field < :date_param |
| Carregar apenas dados inferiores a um valor numérico especificado | WHERE price < ${max_price} |
WHERE price < :max_price |
| Comparar duas cadeias de caracteres | WHERE region = ${region_param} |
WHERE region = :region_param |
| Especificar a tabela usada em uma consulta | SELECT * FROM ${table_name} |
SELECT * FROM IDENTIFIER(:table)Quando um usuário insere esse parâmetro, ele deve usar o namespace completo de três níveis para identificar a tabela. |
| Especificar independentemente o catálogo, o esquema e a tabela usados em uma consulta | SELECT * FROM ${catalog}.${schema}.${table} |
SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table) |
| Usar parâmetros como um modelo em uma cadeia de caracteres formatada mais longa | "(${area_code}) ${phone_number}"Os valores dos parâmetros são concatenados automaticamente como uma cadeia de caracteres. |
format_string((%d) %d, :area_code, :phone_number)Consulte Concatenar vários parâmetros para obter um exemplo completo. |
| Criar um intervalo | SELECT INTERVAL ${p} MINUTE |
SELECT CAST(:param as INTERVAL MINUTE) |
| Filtrar por uma lista de valores possíveis | SELECT * from table WHERE value IN (${list_parameter}) |
SELECT * FROM samples.nyctaxi.trips WHERE array_contains(TRANSFORM(SPLIT(:list_parameter, ','), s -> TRIM(s)), dropoff_zip) |