Bagikan melalui


Widget buku catatan warisan: ${param}

Peringatan

${param} Sintaks untuk mengakses nilai widget tidak digunakan lagi dalam Databricks Runtime 15.2 ke atas. Gunakan sintaks widget Databricks saat ini, (:param) sebagai gantinya.

Halaman ini memperlihatkan kepada Anda cara menggunakan sintaksis warisan ${param} untuk widget notebook yang berjalan di Databricks Runtime 15.1 ke bawah. Databricks merekomendasikan Anda bermigrasi ke sintaks saat ini.

Gunakan nilai widget di Databricks Runtime 15.1 ke bawah

Bagian ini menjelaskan cara meneruskan nilai widget Databricks ke %sql sel buku catatan di Databricks Runtime 15.1 ke bawah.

  1. Buat widget untuk menentukan nilai teks.

Phyton

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"
  1. Teruskan nilai widget menggunakan sintaksis ${param}.

    SELECT *
    FROM ${database}.${table}
    WHERE col == ${filter_value}
    LIMIT 100
    

Nota

Untuk menghindari $ karakter dalam string SQL literal, gunakan \$. Misalnya, untuk mengekspresikan string $1,000, gunakan "\$1,000". Karakter $ tidak dapat diloloskan untuk pengidentifikasi SQL.

Migrasi ke penanda parameter

Tabel berikut menunjukkan kasus penggunaan umum untuk parameter, sintaks widget Azure Databricks asli (tidak digunakan lagi dalam Databricks Runtime 15.2 ke atas), dan sintaks yang setara menggunakan sintaks penanda parameter bernama (didukung dalam Databricks Runtime 15.2 ke atas).

Kasus penggunaan parameter ${param} sintaks widget asli (tidak digunakan lagi pada Databricks Runtime 15.2 ke atas) :param sintaks penanda parameter (didukung pada Databricks Runtime 15.2 ke atas)
Muat hanya data sebelum tanggal yang ditentukan WHERE date_field < '${date_param}'
Anda harus menyertakan tanda kutip di sekitar parameter tanggal dan tanda kurung kurawal.
WHERE date_field < :date_param
Muat hanya data yang kurang dari nilai numerik tertentu WHERE price < ${max_price} WHERE price < :max_price
Bandingkan dua string WHERE region = ${region_param} WHERE region = :region_param
Tentukan tabel yang digunakan dalam kueri SELECT * FROM ${table_name} SELECT * FROM IDENTIFIER(:table)
Saat pengguna memasukkan parameter ini, mereka harus menggunakan namespace tiga tingkat lengkap untuk mengidentifikasi tabel.
Tentukan katalog, skema, dan tabel yang digunakan dalam kueri secara independen SELECT * FROM ${catalog}.${schema}.${table} SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table)
Menggunakan parameter sebagai templat dalam string yang lebih panjang dan diformat "(${area_code}) ${phone_number}"
Nilai parameter secara otomatis digabungkan sebagai string.
format_string((%d) %d, :area_code, :phone_number)
Lihat Menggabungkan beberapa parameter untuk contoh lengkap.
Membuat interval SELECT INTERVAL ${p} MINUTE SELECT CAST(:param as INTERVAL MINUTE)
Memfilter menurut daftar nilai yang mungkin 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)