Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Starsze widżety notesu:
Ostrzeżenie
Składnia ${param} dla uzyskiwania wartości widżetu została wycofana w środowisku Databricks Runtime 15.2 i wyższych. Zamiast tego użyj bieżącej składni widżetów usługi Databricks (:param).
Na tej stronie pokazano, jak używać starszej składni ${param} dla widżetów notatników uruchamianych w środowisku Databricks Runtime 15.1 i wcześniejszych. Usługa Databricks zaleca przeprowadzenie migracji do bieżącej składni.
Użyj wartości widżetów w środowisku Databricks Runtime 15.1 lub nowszym
W tej sekcji opisano sposób przekazywania wartości widżetów usługi Databricks do %sql komórek notesu w środowisku Databricks Runtime 15.1 lub nowszym.
- Tworzenie widżetów w celu określenia wartości tekstowych.
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"
Przekaż wartości widżetu
${param}przy użyciu składni .SELECT * FROM ${database}.${table} WHERE col == ${filter_value} LIMIT 100
Uwaga / Notatka
Aby uniknąć znaku w literałach ciągu SQL, użyj $. Aby na przykład wyrazić ciąg $1,000, użyj polecenia "\$1,000". Nie można zeskapować znaku $ dla identyfikatorów SQL.
Migrowanie do znaczników parametrów
W poniższej tabeli przedstawiono typowe przypadki użycia parametrów, oryginalną składnię widżetu usługi Azure Databricks (przestarzałą w środowisku Databricks Runtime 15.2 lub nowszym) oraz równoważną składnię przy użyciu nazwanej składni znacznika parametrów (obsługiwanej w środowisku Databricks Runtime 15.2 lub nowszym).
| Przypadek użycia parametru |
${param} oryginalna składnia widżetu (przestarzała w środowisku Databricks Runtime 15.2 lub nowszym) |
:param składnia znacznika parametrów (obsługiwana w środowisku Databricks Runtime 15.2 lub nowszym) |
|---|---|---|
| Ładowanie tylko danych przed określoną datą | WHERE date_field < '${date_param}'Należy umieścić cudzysłowy wokół parametru daty oraz użyć nawiasów klamrowych. |
WHERE date_field < :date_param |
| Ładowanie tylko danych mniejszych niż określona wartość liczbowa | WHERE price < ${max_price} |
WHERE price < :max_price |
| Porównaj dwa ciągi | WHERE region = ${region_param} |
WHERE region = :region_param |
| Określanie tabeli używanej w zapytaniu | SELECT * FROM ${table_name} |
SELECT * FROM IDENTIFIER(:table)Gdy użytkownik wprowadzi ten parametr, powinien użyć pełnej trójwymiarowej przestrzeni nazw, aby zidentyfikować tabelę. |
| Niezależnie określ wykaz, schemat i tabelę używaną w zapytaniu | SELECT * FROM ${catalog}.${schema}.${table} |
SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table) |
| Używanie parametrów jako szablonu w dłuższym, sformatowanym ciągu | "(${area_code}) ${phone_number}"Wartości parametrów są automatycznie łączone jako ciąg. |
format_string((%d) %d, :area_code, :phone_number)Aby uzyskać pełny przykład, zobacz Łączenie wielu parametrów . |
| Tworzenie interwału | SELECT INTERVAL ${p} MINUTE |
SELECT CAST(:param as INTERVAL MINUTE) |
| Filtrowanie według listy możliwych wartości | 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) |