ipywidgets
ipywidgets adalah elemen visual yang memungkinkan pengguna menentukan nilai parameter dalam sel buku catatan. Anda dapat menggunakan ipywidgets untuk membuat notebook Databricks Python Anda interaktif.
Paket ipywidgets mencakup lebih dari 30 kontrol yang berbeda, termasuk kontrol formulir seperti penggeser, kotak teks, dan kotak centang, serta kontrol tata letak seperti tab, akordion, dan kisi. Dengan menggunakan elemen ini, Anda dapat membangun antarmuka pengguna grafis untuk berinteraksi dengan kode notebook Anda.
Catatan
- Untuk menentukan versi ipywidgets yang didukung kluster Anda, lihat catatan rilis untuk versi Databricks Runtime kluster Anda.
- Beberapa ipywidgets tidak berfungsi di Databricks Runtime 15.0.
- Untuk informasi tentang widget Databricks, lihat Widget Databricks. Untuk mendapatkan panduan tentang kapan harus menggunakan widget Databricks atau ipywidgets, lihat Praktik terbaik penggunaan widget ipywidgets dan Databricks.
Persyaratan
- ipywidgets tersedia dalam pratinjau di Databricks Runtime 11.0 hingga Databricks Runtime 12.2 LTS, dan umumnya tersedia di Databricks Runtime 13.0 ke atas. Dukungan untuk tabel Unity Catalog tersedia di Databricks Runtime 12.2 LTS ke atas pada kluster yang mendukung Katalog Unity.
- Untuk menggunakan ipywidgets di Databricks, browser Anda harus dapat mengakses
databricks-dev-cloudfront.dev.databricks.com
domain.
Secara default, ipywidgets menempati port 6062. Dengan Databricks Runtime 11.3 LTS ke atas, jika Anda mengalami konflik dengan integrasi pihak ketiga seperti Datadog, Anda dapat mengubah port menggunakan konfigurasi Spark berikut:
spark.databricks.driver.ipykernel.commChannelPort <port-number>
Contohnya:
spark.databricks.driver.ipykernel.commChannelPort 1234
Konfigurasi Spark harus diatur saat kluster dibuat.
Penggunaan
Kode berikut membuat histogram dengan penggeser yang dapat mengambil nilai antara 3 dan 10. Nilai widget menentukan jumlah bin dalam histogram. Saat Anda memindahkan slider, histogram segera diperbarui. Lihat contoh notebook ipywidgets untuk mencobanya.
import ipywidgets as widgets
from ipywidgets import interact
# Load a dataset
sparkDF = spark.read.csv("/databricks-datasets/bikeSharing/data-001/day.csv", header="true", inferSchema="true")
# In this code, `(bins=(3, 10)` defines an integer slider widget that allows values between 3 and 10.
@interact(bins=(3, 10))
def plot_histogram(bins):
pdf = sparkDF.toPandas()
pdf.hist(column='temp', bins=bins)
Kode berikut membuat penggeser bilangan bulat yang dapat mengambil nilai antara 0 dan 10. Nilai defaultnya adalah 5. Untuk mengakses nilai penggeser dalam kode Anda, gunakan int_slider.value
.
import ipywidgets as widgets
int_slider = widgets.IntSlider(max=10, value=5)
int_slider
Kode berikut memuat dan menampilkan sampel dataframe dari tabel di Unity Catalog. Dukungan untuk tabel Unity Catalog tersedia dengan Databricks Runtime 12.1 ke atas pada kluster yang mendukung Unity Catalog.
import ipywidgets as widgets
# Create button widget. Clicking this button loads a sampled dataframe from UC table.
button = widgets.Button(description="Load dataframe sample")
# Output widget to display the loaded dataframe
output = widgets.Output()
def load_sample_df(table_name):
return spark.sql(f"SELECT * FROM {table_name} LIMIT 1000")
def on_button_clicked(_):
with output:
output.clear_output()
df = load_sample_df('<catalog>.<schema>.<table>')
print(df.toPandas())
# Register the button's callback function to query UC and display results to the output widget
button.on_click(on_button_clicked)
display(button, output)
Contoh buku catatan: ipywidgets
Buku catatan berikut ini memperlihatkan beberapa contoh penggunaan ipywidgets di buku catatan.
buku catatan contoh ipywidgets
Contoh buku catatan: contoh tingkat lanjut ipywidgets
Buku catatan berikut ini memperlihatkan contoh yang lebih kompleks menggunakan ipywidgets untuk membuat peta interaktif.
Contoh tingkat lanjut: peta dengan ipywidgets
Praktik terbaik untuk menggunakan widget ipywidgets dan Databricks
Untuk menambahkan kontrol interaktif ke notebook Python, Databricks merekomendasikan penggunaan ipywidgets. Untuk notebook dalam bahasa lain, gunakan widget Databricks.
Anda dapat menggunakan widget Databricks untuk meneruskan parameter antara notebook dan untuk meneruskan parameter ke pekerjaan; ipywidgets tidak mendukung skenario ini.
Widget pihak ketiga Jupyter manakah yang didukung pada Databricks?
Databricks memberikan dukungan upaya terbaik untuk widget pihak ketiga, seperti ipyleaflet, bqplot, dan VegaFusion. Namun, beberapa widget pihak ketiga tidak didukung. Untuk daftar widget yang telah diuji di notebook Azure Databricks, hubungi tim akun Azure Databricks Anda.
Batasan
Lihat Buku catatan Databricks batasan yang diketahui untuk informasi selengkapnya.