Pular para o conteúdo principal

Widgets do Notebook antigo: ${param}

:: :warning Obsoleto

A sintaxe ${param} para acessar valores de widgets foi descontinuada no Databricks Runtime 15.2 e versões posteriores. Utilize a sintaxe atual dos widgets do Databricks():param em seu lugar.

:::

Esta página mostra como utilizar a sintaxe legada ${param} para widgets do Notebook em execução no Databricks Runtime 15.1 e versões anteriores. A Databricks recomenda que você migre para a sintaxe atual.

Utilize os valores do widget no Databricks Runtime 15.1 e versões anteriores.

Esta seção descreve como passar valores de widgets d Databricks s para células d %sql Notebook em Databricks Runtime 15.1 e versões anteriores.

  1. Crie widgets para especificar valores de texto.
Python
dbutils.widgets.text("database", "")
dbutils.widgets.text("table", "")
dbutils.widgets.text("filter_value", "100")
  1. Passe os valores do widget usando a sintaxe ${param}.

    SQL
    SELECT *
    FROM ${database}.${table}
    WHERE col == ${filter_value}
    LIMIT 100
nota

Para escapar do caractere $ em uma string literalSQL, utilize \$. Por exemplo, para expressar as cadeias de caracteres “ $1,000”, utilize “ "\$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 Databricks (obsoleta em Databricks Runtime 15.2 e acima) e a sintaxe equivalente usando a sintaxe do marcador de parâmetro nomeado (compatível com Databricks Runtime 15.2 e acima).

Caso de uso de parâmetros

${param} sintaxe original do widget (obsoleta a partir de Databricks Runtime 15.2 e acima)

:param sintaxe do marcador de parâmetro (compatível a partir de Databricks Runtime 15.2 e acima)

Carregar somente dados antes de uma data especificada

WHERE date_field < '${date_param}'

Você deve incluir aspas ao redor do parâmetro de data e colchetes.

WHERE date_field < :date_param

Carregar somente dados menores que um valor numérico especificado

WHERE price < ${max_price}

WHERE price < :max_price

Compare dois strings

WHERE region = ${region_param}

WHERE region = :region_param

Especifique 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.

Especifique de forma independente o catálogo, o esquema e a tabela usados em uma consulta

SELECT * FROM ${catalog}.${schema}.${table}

SELECT * FROM IDENTIFIER(:catalog || '.' || :schema || '.' || :table)

Use os parâmetros como um padrão em uma cadeia de caracteres mais longa e formatada

"(${area_code}) ${phone_number}"

Os valores dos parâmetros são automaticamente concatenados como strings.

format_string((%d) %d, :area_code, :phone_number)

Consulte Concatenar vários parâmetros para ver um exemplo completo.

Crie 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)