Partager via


Widgets d'ordinateur portable anciens : ${param}

Avertissement

La ${param} syntaxe d’accès aux valeurs de widget a été déconseillée dans Databricks Runtime 15.2 et versions ultérieures. Utilisez plutôt la syntaxe actuelle des widgets Databricks (:param).

Cette page vous montre comment utiliser la syntaxe héritée ${param} pour les widgets notebooks s’exécutant sur Databricks Runtime 15.1 et ci-dessous. Databricks vous recommande de migrer vers la syntaxe actuelle.

Utiliser des valeurs de widget dans Databricks Runtime 15.1 et ci-dessous

Cette section explique comment transmettre des valeurs de widgets Databricks aux %sql cellules de notebook dans Databricks Runtime 15.1 et ci-dessous.

  1. Créez des widgets pour spécifier des valeurs de texte.

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. Transmettez les valeurs du widget à l’aide de la ${param} syntaxe.

    SELECT *
    FROM ${database}.${table}
    WHERE col == ${filter_value}
    LIMIT 100
    

Note

Pour échapper au $ caractère dans un littéral de chaîne SQL, utilisez \$. Par exemple, pour exprimer la chaîne $1,000, utilisez "\$1,000". Le $ caractère ne peut pas être échappé pour les identificateurs SQL.

Migrer vers des marqueurs de paramètres

Le tableau suivant présente les cas d’usage courants pour les paramètres, la syntaxe du widget Azure Databricks d’origine (déconseillée dans Databricks Runtime 15.2 et versions ultérieures) et la syntaxe équivalente à l’aide de la syntaxe de marqueur de paramètre nommée (prise en charge dans Databricks Runtime 15.2 et versions ultérieures).

Cas d’usage des paramètres ${param} syntaxe du widget d’origine (déconseillée à partir de Databricks Runtime 15.2 et versions ultérieures) :param syntaxe de marqueur de paramètre (prise en charge à partir de la version 15.2 de Databricks Runtime)
Charger uniquement les données avant une date spécifiée WHERE date_field < '${date_param}'
Vous devez inclure des guillemets autour du paramètre de date et des crochets courbés.
WHERE date_field < :date_param
Charger uniquement des données inférieures à une valeur numérique spécifiée WHERE price < ${max_price} WHERE price < :max_price
Comparer deux chaînes WHERE region = ${region_param} WHERE region = :region_param
Spécifier la table utilisée dans une requête SELECT * FROM ${table_name} SELECT * FROM IDENTIFIER(:table)
Lorsqu’un utilisateur entre ce paramètre, il doit utiliser l’espace de noms complet à trois niveaux pour identifier la table.
Spécifiez indépendamment le catalogue, le schéma et la table utilisés dans une requête SELECT * FROM ${catalog}.${schema}.${table} SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table)
Utiliser des paramètres comme modèle dans une chaîne plus longue et mise en forme "(${area_code}) ${phone_number}"
Les valeurs des paramètres sont automatiquement concaténées sous forme de chaîne.
format_string((%d) %d, :area_code, :phone_number)
Pour obtenir un exemple complet, consultez Concaténer plusieurs paramètres .
Créer un intervalle SELECT INTERVAL ${p} MINUTE SELECT CAST(:param as INTERVAL MINUTE)
Filtrer par une liste de valeurs possibles 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)