Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ältere Notizbuch-Widgets:
Warnung
Die ${param} Syntax für den Zugriff auf Widgetwerte ist in Databricks Runtime 15.2 und höher veraltet. Verwenden Sie stattdessen die aktuelle Syntax für Databricks-Widgets (:param).
Auf dieser Seite erfahren Sie, wie Sie die ältere ${param} Syntax für Notizbücher-Widgets verwenden, die auf Databricks Runtime 15.1 und darunter ausgeführt werden. Databricks empfiehlt die Migration zur aktuellen Syntax.
Verwenden Sie Widget-Werte in Databricks Runtime 15.1 und früher
In diesem Abschnitt wird beschrieben, wie Databricks-Widgets-Werte an %sql Notizbuchzellen in Databricks Runtime 15.1 und darunter übergeben werden.
- Erstellen Sie Widgets, um Textwerte anzugeben.
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"
Übergeben Sie die Widgetwerte mithilfe der
${param}Syntax.SELECT * FROM ${database}.${table} WHERE col == ${filter_value} LIMIT 100
Hinweis
Um das $ Zeichen in einem SQL-Zeichenfolgenliteral zu escapen, verwenden Sie \$. Um die Zeichenfolge $1,000 auszudrücken, verwenden Sie z. B. die Zeichenfolge "\$1,000". Das $ Zeichen kann für SQL-Bezeichner nicht escapet werden.
Migrieren zu Parametermarkierungen
Die folgende Tabelle enthält allgemeine Anwendungsfälle für Parameter, die ursprüngliche Syntax des Azure Databricks-Widgets (veraltet in Databricks Runtime 15.2 und höher) und die entsprechende Syntax mit benannter Parametermarkierungssyntax (unterstützt in Databricks Runtime 15.2 und höher).
| Parameteranwendungsfall |
${param} ursprüngliche Widgetsyntax (veraltet seit Databricks Runtime 15.2 und höher) |
:param Parametermarkierungssyntax (unterstützt ab Databricks Runtime 15.2 und höher) |
|---|---|---|
| Nur Daten vor einem angegebenen Datum laden | WHERE date_field < '${date_param}'Sie müssen Anführungszeichen um den Datumsparameter und geschweifte Klammern einfügen. |
WHERE date_field < :date_param |
| Nur Daten laden, die kleiner als ein angegebener numerischer Wert sind | WHERE price < ${max_price} |
WHERE price < :max_price |
| Vergleichen Sie zwei Zeichenfolgen | WHERE region = ${region_param} |
WHERE region = :region_param |
| Angeben der tabelle, die in einer Abfrage verwendet wird | SELECT * FROM ${table_name} |
SELECT * FROM IDENTIFIER(:table)Wenn ein Benutzer diesen Parameter eingibt, sollte er den vollständigen Namespace der drei Ebenen verwenden, um die Tabelle zu identifizieren. |
| Geben Sie unabhängig den Katalog, das Schema und die Tabelle an, die in einer Abfrage verwendet werden. | SELECT * FROM ${catalog}.${schema}.${table} |
SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table) |
| Verwenden von Parametern als Vorlage in einer länger formatierten Zeichenfolge | "(${area_code}) ${phone_number}"Parameterwerte werden automatisch als Zeichenfolge verkettet. |
format_string((%d) %d, :area_code, :phone_number)Ein vollständiges Beispiel finden Sie unter Verketten mehrerer Parameter . |
| Erstellen eines Intervalls | SELECT INTERVAL ${p} MINUTE |
SELECT CAST(:param as INTERVAL MINUTE) |
| Filtern nach einer Liste möglicher Werte | 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) |