레거시 노트 위젯:
경고
${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 셀에 전달하는 방법을 설명합니다.
- 위젯을 만들어 텍스트 값을 지정합니다.
파이썬
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) |