Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Widgetar för gamla anteckningsprogram:
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.
- 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"
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) |