Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Widgets d'ordinateur portable anciens :
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.
- 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"
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) |