Condividi tramite


Widget del notebook legacy: ${param}

Avvertimento

La ${param} sintassi per l'accesso ai valori dei widget è stata deprecata in Databricks Runtime 15.2 e versioni successive. Usare invece la sintassi corrente dei widget di Databricks (:param).

Questa pagina illustra come usare la sintassi legacy ${param} per i widget dei notebook in esecuzione in Databricks Runtime 15.1 e versioni successive. Databricks consiglia di eseguire la migrazione alla sintassi corrente.

Usare i valori dei widget in Databricks Runtime 15.1 e versioni precedenti

Questa sezione descrive come passare i valori dei widget di Databricks alle %sql celle del notebook in Databricks Runtime 15.1 e versioni successive.

  1. Creare widget per specificare i valori di testo.

Pitone

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"
  1. Passare i valori del widget usando la sintassi ${param}.

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

Annotazioni

Per eseguire l'escape del carattere $ in un letterale di stringa SQL, utilizzare \$. Ad esempio, per esprimere la stringa $1,000, usare "\$1,000". Il $ carattere non può essere preceduto da un carattere di escape per gli identificatori SQL.

Eseguire la migrazione ai marcatori di parametro

La tabella seguente illustra i casi d'uso comuni per i parametri, la sintassi originale del widget di Azure Databricks (deprecata in Databricks Runtime 15.2 e versioni successive) e la sintassi equivalente usando la sintassi del marcatore di parametri denominata (supportata in Databricks Runtime 15.2 e versioni successive).

Caso d'uso dei parametri ${param} sintassi del widget originale (deprecata a partire da Databricks Runtime 15.2 e versioni successive) :param sintassi dell'indicatore di parametro (supportata a partire da Databricks Runtime 15.2 e versioni successive)
Caricare solo i dati prima di una data specificata WHERE date_field < '${date_param}'
È necessario includere virgolette intorno al parametro data e parentesi graffe.
WHERE date_field < :date_param
Caricare solo dati minori di un valore numerico specificato WHERE price < ${max_price} WHERE price < :max_price
Confrontare due stringhe WHERE region = ${region_param} WHERE region = :region_param
Specificare la tabella usata in una query SELECT * FROM ${table_name} SELECT * FROM IDENTIFIER(:table)
Quando un utente immette questo parametro, deve usare lo spazio dei nomi completo a tre livelli per identificare la tabella.
Specificare in modo indipendente il catalogo, lo schema e la tabella usati in una query SELECT * FROM ${catalog}.${schema}.${table} SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table)
Usare i parametri come modello in una stringa formattata più lunga "(${area_code}) ${phone_number}"
I valori dei parametri vengono concatenati automaticamente come stringa.
format_string((%d) %d, :area_code, :phone_number)
Per un esempio completo, vedere Concatenare più parametri .
Creare un intervallo SELECT INTERVAL ${p} MINUTE SELECT CAST(:param as INTERVAL MINUTE)
Filtrare in base a un elenco di valori possibili 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)