Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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) |