Freigeben über


Ältere Notizbuch-Widgets: ${param}

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.

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