레거시 노트 위젯:
경고
${param} 위젯 값에 액세스하기 위한 구문은 Databricks Runtime 15.2 이상에서 더 이상 사용되지 않습니다. 대신 현재 Databricks 위젯 구문을:param 사용합니다.
이 페이지에서는 Databricks Runtime 15.1 이하에서 실행되는 Notebook 위젯에 레거시 ${param} 구문을 사용하는 방법을 보여 줍니다. Databricks는 현재 구문으로 마이그레이션하는 것이 좋습니다.
Databricks Runtime 15.1 이하에서 위젯 값 사용
이 섹션에서는 Databricks Runtime 15.1 이하에서 Databricks 위젯 값을 %sql Notebook 셀에 전달하는 방법을 설명합니다.
- 위젯을 만들어 텍스트 값을 지정합니다.
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"
구문을 사용하여
${param}위젯 값을 전달합니다.SELECT * FROM ${database}.${table} WHERE col == ${filter_value} LIMIT 100
비고
$ 문자를 SQL 문자열 리터럴에서 스케이프하려면 \$를 사용합니다. 예를 들어 문자열 $1,000을 표현하려면 .를 사용합니다 "\$1,000".
$ 문자는 SQL 식별자로 이스케이프할 수 없습니다.
매개 변수 표식으로 마이그레이션
다음 표에서는 매개 변수에 대한 일반적인 사용 사례, 원래 Azure Databricks 위젯 구문(Databricks Runtime 15.2 이상에서는 사용되지 않음), 명명된 매개 변수 표식 구문을 사용하는 동등한 구문(Databricks Runtime 15.2 이상에서 지원됨)을 보여 줍니다.
| 매개 변수 사용 사례 |
${param} 원래 위젯 구문(Databricks Runtime 15.2 이상에서 사용되지 않음) |
:param 매개 변수 표식 구문(Databricks Runtime 15.2 이상에서 지원됨) |
|---|---|---|
| 지정된 날짜 이전에 데이터만 로드 | WHERE date_field < '${date_param}'날짜 매개 변수와 중괄호 주위에 따옴표를 포함해야 합니다. |
WHERE date_field < :date_param |
| 지정된 숫자 값보다 작은 데이터만 로드합니다. | WHERE price < ${max_price} |
WHERE price < :max_price |
| 두 문자열 비교 | WHERE region = ${region_param} |
WHERE region = :region_param |
| 쿼리에 사용되는 테이블 지정 | SELECT * FROM ${table_name} |
SELECT * FROM IDENTIFIER(:table)사용자가 이 매개 변수를 입력하면 전체 3개 수준 네임스페이스를 사용하여 테이블을 식별해야 합니다. |
| 쿼리에 사용되는 카탈로그, 스키마 및 테이블을 독립적으로 지정합니다. | SELECT * FROM ${catalog}.${schema}.${table} |
SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table) |
| 더 긴 형식의 문자열에서 매개 변수를 템플릿으로 사용 | "(${area_code}) ${phone_number}"매개 변수 값은 자동으로 문자열로 연결됩니다. |
format_string((%d) %d, :area_code, :phone_number)전체 예제는 여러 매개 변수 연결을 참조하세요. |
| 간격 만들기 | SELECT INTERVAL ${p} MINUTE |
SELECT CAST(:param as INTERVAL MINUTE) |
| 가능한 값 목록으로 필터링 | 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) |