Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Starší widgety poznámkového bloku:
Výstraha
${param} Syntaxe pro přístup k hodnotám widgetu je v Databricks Runtime 15.2 a novější zastaralá. Použijte místo toho aktuální syntaxi widgetů Databricks (:param).
Na této stránce se dozvíte, jak používat starší ${param} syntaxi widgetů poznámkových bloků spuštěných ve službě Databricks Runtime 15.1 a níže. Databricks doporučuje migrovat na aktuální syntaxi.
Použití hodnot widgetů v Databricks Runtime 15.1 a níže
Tato část popisuje, jak předat hodnoty %sql widgetů Databricks do buněk poznámkového bloku v Databricks Runtime 15.1 a níže.
- Vytváření widgetů pro zadání textových hodnot
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"
Předejte hodnoty widgetu
${param}pomocí syntaxe.SELECT * FROM ${database}.${table} WHERE col == ${filter_value} LIMIT 100
Poznámka:
Chcete-li uniknout znak $ v řetězcovém literálu SQL, použijte \$. Chcete-li například vyjádřit řetězec $1,000, použijte "\$1,000". Znak $ nelze maskovat pro identifikátory SQL.
Přejděte na značky parametrů
Následující tabulka uvádí běžné případy použití parametrů, původní syntaxi widgetu Azure Databricks (zastaralá v Databricks Runtime 15.2 a vyšší) a ekvivalentní syntaxi používající syntaxi pojmenované značky parametrů (podporovaná v Databricks Runtime 15.2 a vyšší).
| Případ použití parametru |
${param} Původní syntaxe widgetu (zastaralá od Databricks Runtime 15.2 a vyšší) |
:param Syntaxe značek parametrů (podporovaná jako Databricks Runtime 15.2 a vyšší) |
|---|---|---|
| Načíst pouze data před zadaným datem | WHERE date_field < '${date_param}'Je nutné zahrnout uvozovky kolem parametru datum a kolem složených závorek. |
WHERE date_field < :date_param |
| Načtení pouze dat menší než zadaná číselná hodnota | WHERE price < ${max_price} |
WHERE price < :max_price |
| Porovnejte dva řetězce | WHERE region = ${region_param} |
WHERE region = :region_param |
| Zadání tabulky použité v dotazu | SELECT * FROM ${table_name} |
SELECT * FROM IDENTIFIER(:table)Když uživatel zadá tento parametr, měl by k identifikaci tabulky použít úplný tříúrovňový obor názvů. |
| Nezávisle zadejte katalog, schéma a tabulku použitou v dotazu. | SELECT * FROM ${catalog}.${schema}.${table} |
SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table) |
| Použití parametrů jako šablony v delším formátovaném řetězci | "(${area_code}) ${phone_number}"Hodnoty parametrů jsou automaticky zřetězeny do řetězce. |
format_string((%d) %d, :area_code, :phone_number)Podívejte se na Sloučení více parametrů pro úplný příklad. |
| Vytvoření intervalu | SELECT INTERVAL ${p} MINUTE |
SELECT CAST(:param as INTERVAL MINUTE) |
| Filtrování podle seznamu možných hodnot | 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) |