Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Widgets de bloc de notas heredados:
Advertencia
La ${param} sintaxis para acceder a los valores del widget está en desuso en Databricks Runtime 15.2 y versiones posteriores. En su lugar, use la sintaxis actual de widgets de Databricks (:param ).
En esta página se muestra cómo usar la sintaxis heredada ${param} para widgets de cuadernos que se ejecutan en Databricks Runtime 15.1 y versiones posteriores. Databricks recomienda migrar a la sintaxis actual.
Uso de valores de widget en Databricks Runtime 15.1 y versiones posteriores
En esta sección se describe cómo pasar valores de widgets de Databricks a %sql celdas de cuaderno en Databricks Runtime 15.1 y versiones posteriores.
- Cree widgets para especificar valores de texto.
Pitón
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"
Pase los valores del widget mediante la
${param}sintaxis .SELECT * FROM ${database}.${table} WHERE col == ${filter_value} LIMIT 100
Nota:
Para escapar el carácter $ en una cadena literal de SQL, use \$. Por ejemplo, para expresar la cadena $1,000, use "\$1,000". El $ carácter no puede ser escapado para identificadores SQL.
Migración a marcadores de parámetros
En la tabla siguiente se muestran casos de uso comunes para parámetros, la sintaxis original del widget de Azure Databricks (en desuso en Databricks Runtime 15.2 y versiones posteriores) y la sintaxis equivalente mediante la sintaxis de marcador de parámetros con nombre (compatible con Databricks Runtime 15.2 y versiones posteriores).
| Caso de uso de parámetros |
${param} sintaxis de widget original (en desuso a partir de Databricks Runtime 15.2 y versiones posteriores) |
:param Sintaxis de marcador de parámetros (compatible con Databricks Runtime 15.2 y versiones posteriores) |
|---|---|---|
| Cargar solo datos antes de una fecha especificada | WHERE date_field < '${date_param}'Debe incluir comillas alrededor del parámetro date y corchetes con curly. |
WHERE date_field < :date_param |
| Cargar solo datos menores que un valor numérico especificado | WHERE price < ${max_price} |
WHERE price < :max_price |
| Comparación de dos cadenas | WHERE region = ${region_param} |
WHERE region = :region_param |
| Especificar la tabla usada en una consulta | SELECT * FROM ${table_name} |
SELECT * FROM IDENTIFIER(:table)Cuando un usuario escribe este parámetro, debe usar el espacio de nombres completo de tres niveles para identificar la tabla. |
| Especifique de forma independiente el catálogo, el esquema y la tabla usados en una consulta. | SELECT * FROM ${catalog}.${schema}.${table} |
SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table) |
| Usar parámetros como plantilla en una cadena con formato más largo | "(${area_code}) ${phone_number}"Los valores de parámetro se concatenan automáticamente como una cadena. |
format_string((%d) %d, :area_code, :phone_number)Consulte Concatenar varios parámetros para obtener un ejemplo completo. |
| Crear un intervalo | SELECT INTERVAL ${p} MINUTE |
SELECT CAST(:param as INTERVAL MINUTE) |
| Filtrar por una lista de valores posibles | 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) |