Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Widget del notebook legacy:
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.
- 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"
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) |