Widgetar för gamla anteckningsprogram: ${param}

Varning

Syntaxen ${param} för att komma åt widgetvärden har föråldrats i Databricks Runtime 15.2 och senare. Använd den aktuella syntaxen för Databricks-widgetar, (:param) i stället.

Den här sidan visar hur du använder den äldre ${param} syntaxen för notebook-widgetar som körs på Databricks Runtime 15.1 och nedan. Databricks rekommenderar att du migrerar till den aktuella syntaxen.

Använda widgetvärden i Databricks Runtime 15.1 och nedan

I det här avsnittet beskrivs hur du skickar Databricks-widgetvärden till %sql notebook-celler i Databricks Runtime 15.1 och nedan.

  1. Skapa widgetar för att ange textvärden.

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"
  1. Skicka in widgetvärdena med hjälp av syntaxen ${param} .

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

Anmärkning

Om du vill undvika $ tecknet i en SQL-strängliteral använder du \$. Om du till exempel vill uttrycka strängen $1,000använder du "\$1,000". Tecknet $ kan inte undantagas för SQL-identifierare.

Migrera till parametermarkörer

I följande tabell visas vanliga användningsfall för parametrar, den ursprungliga Azure Databricks-widgetsyntaxen (inaktuell i Databricks Runtime 15.2 och senare) och motsvarande syntax med hjälp av namngiven parametermarkörsyntax (stöds i Databricks Runtime 15.2 och senare).

Parameteranvändningsfall ${param} ursprunglig widgetsyntax (inaktuell från och med Databricks Runtime 15.2 och senare) :param parametermarkörsyntax (stöds från och med Databricks Runtime 15.2 och senare)
Läs endast in data före ett angivet datum WHERE date_field < '${date_param}'
Du måste inkludera citattecken runt datumparametern och klammerparenteser.
WHERE date_field < :date_param
Läs endast in data som är mindre än ett angivet numeriskt värde WHERE price < ${max_price} WHERE price < :max_price
Jämför två strängar WHERE region = ${region_param} WHERE region = :region_param
Ange tabellen som används i en fråga SELECT * FROM ${table_name} SELECT * FROM IDENTIFIER(:table)
När en användare anger den här parametern bör de använda hela namnområdet på tre nivåer för att identifiera tabellen.
Oberoende ange katalogen, schemat och tabellen som används i en fråga SELECT * FROM ${catalog}.${schema}.${table} SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table)
Använda parametrar som en mall i en längre, formaterad sträng "(${area_code}) ${phone_number}"
Parametervärden sammanfogas automatiskt som en sträng.
format_string((%d) %d, :area_code, :phone_number)
Se Sammanfoga flera parametrar för ett fullständigt exempel.
Skapa ett intervall SELECT INTERVAL ${p} MINUTE SELECT CAST(:param as INTERVAL MINUTE)
Filtrera efter en lista över möjliga värden 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)