Sdílet prostřednictvím


Starší widgety poznámkového bloku: ${param}

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.

  1. 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"
  1. 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)