Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Verouderde notebookwidgets:
Waarschuwing
De ${param} syntaxis voor het openen van widgetwaarden is afgeschaft in Databricks Runtime 15.2 en hoger. Gebruik in plaats daarvan de syntaxis van de huidige Databricks-widgets (:param).
Op deze pagina ziet u hoe u de verouderde ${param} syntaxis gebruikt voor notebookwidgets die worden uitgevoerd in Databricks Runtime 15.1 en hieronder. Databricks raadt u aan om te migreren naar de huidige syntaxis.
Widgetwaarden gebruiken in Databricks Runtime 15.1 en lager
In deze sectie wordt beschreven hoe u waarden voor Databricks-widgets doorgeeft aan %sql notebookcellen in Databricks Runtime 15.1 en hieronder.
- Maak widgets om tekstwaarden op te geven.
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"
Geef de widgetwaarden door met behulp van de
${param}syntaxis.SELECT * FROM ${database}.${table} WHERE col == ${filter_value} LIMIT 100
Opmerking
Als u het $ teken in een letterlijke SQL-tekenreeks wilt ontsnappen, gebruikt u \$. Als u bijvoorbeeld de tekenreeks $1,000wilt uitdrukken, gebruikt u "\$1,000". Het $ teken kan niet worden geëscaped voor SQL-identificatoren.
Migreren naar parametermarkeringen
De volgende tabel bevat veelvoorkomende use cases voor parameters, de oorspronkelijke Azure Databricks widget syntaxis (afgeschaft in Databricks Runtime 15.2 en hoger) en de equivalente syntaxis met behulp van de benoemde parametermarkeringsyntaxis (ondersteund in Databricks Runtime 15.2 en hoger).
| Gebruikssituatie voor parameters |
${param} oorspronkelijke widgetsyntaxis (afgeschaft vanaf Databricks Runtime 15.2 en hoger) |
:param syntaxis van parametermarkeringen (ondersteund vanaf Databricks Runtime 15.2 en hoger) |
|---|---|---|
| Alleen gegevens laden vóór een opgegeven datum | WHERE date_field < '${date_param}'U moet aanhalingstekens en accolades rond de datumparameter plaatsen. |
WHERE date_field < :date_param |
| Alleen gegevens laden die kleiner zijn dan een opgegeven numerieke waarde | WHERE price < ${max_price} |
WHERE price < :max_price |
| Twee tekenreeksen vergelijken | WHERE region = ${region_param} |
WHERE region = :region_param |
| De tabel opgeven die in een query wordt gebruikt | SELECT * FROM ${table_name} |
SELECT * FROM IDENTIFIER(:table)Wanneer een gebruiker deze parameter invoert, moet deze de volledige naamruimte op drie niveaus gebruiken om de tabel te identificeren. |
| Geef onafhankelijk de catalogus, het schema en de tabel op die in een query worden gebruikt | SELECT * FROM ${catalog}.${schema}.${table} |
SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table) |
| Parameters gebruiken als sjabloon in een langere, opgemaakte tekenreeks | "(${area_code}) ${phone_number}"Parameterwaarden worden automatisch samengevoegd als een tekenreeks. |
format_string((%d) %d, :area_code, :phone_number)Zie Meerdere parameters samenvoegen voor een volledig voorbeeld. |
| Een interval maken | SELECT INTERVAL ${p} MINUTE |
SELECT CAST(:param as INTERVAL MINUTE) |
| Filteren op een lijst met mogelijke waarden | 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) |