ipywidgets
Az ipywidgets olyan vizuális elemek, amelyek lehetővé teszik a felhasználók számára, hogy paraméterértékeket adjanak meg a jegyzetfüzetcellákban. Az ipywidgets használatával interaktívvá teheti Databricks Python-jegyzetfüzeteit.
Az ipywidgets csomag több mint 30 különböző vezérlőt tartalmaz, köztük űrlapvezérlőket, például csúszkákat, szövegdobozokat és jelölőnégyzeteket, valamint elrendezésvezérlőket, például füleket, harmonikákat és rácsokat. Ezekkel az elemekkel grafikus felhasználói felületeket hozhat létre a jegyzetfüzet kódjához való kapcsolódáshoz.
Feljegyzés
- Az ipywidgets fürt által támogatott verziójának meghatározásához tekintse meg a fürt Databricks Runtime-verziójának kibocsátási megjegyzéseit .
- Egyes ipywidgetek nem működnek a Databricks Runtime 15.0-s verzióban.
- A Databricks-vezérlőkkel kapcsolatos információkért lásd a Databricks-vezérlőket. A Databricks-vezérlők vagy ipywidgets-vezérlők használatának irányelvei: Ajánlott eljárások az ipywidgets és a Databricks-vezérlők használatához.
Követelmények
- Az ipywidgetek előzetes verzióban érhetők el a Databricks Runtime 11.0-s verziójában a Databricks Runtime 12.2 LTS-ben, és általában a Databricks Runtime 13.0-s vagy újabb verziójában érhetők el. A Unity Catalog-táblák támogatása a Databricks Runtime 12.2 LTS-ben és újabb verziókban érhető el a Unity Catalog-kompatibilis fürtökön.
- Az ipywidgets Databricksen való használatához a böngészőnek hozzá kell tudnia férni a
databricks-dev-cloudfront.dev.databricks.com
tartományhoz.
Alapértelmezés szerint az ipywidgets a 6062-s portot foglalja el. A Databricks Runtime 11.3 LTS és újabb verziók esetén, ha ütközésekbe ütközik külső integrációkkal, például a Datadogtal, a következő Spark-konfigurációval módosíthatja a portot:
spark.databricks.driver.ipykernel.commChannelPort <port-number>
Példa:
spark.databricks.driver.ipykernel.commChannelPort 1234
A Spark-konfigurációt a fürt létrehozásakor kell beállítani.
Használat
Az alábbi kód létrehoz egy hisztogramot egy csúszkával, amely 3 és 10 közötti értékeket vehet fel. A widget értéke határozza meg a hisztogramban lévő tárolók számát. A csúszka mozgatása közben a hisztogram azonnal frissül. A kipróbálásához tekintse meg az ipywidgets példajegyzetfüzetet .
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)
Az alábbi kód létrehoz egy egész szám csúszkát, amely 0 és 10 közötti értékeket vehet fel. Az alapértelmezett érték 5. A csúszka értékének a kódban való eléréséhez használja a következőt int_slider.value
: .
import ipywidgets as widgets
int_slider = widgets.IntSlider(max=10, value=5)
int_slider
Az alábbi kód betölt egy minta adatkeretet a Unity Catalog egyik táblájából. A Unity Catalog-táblák támogatása a Databricks Runtime 12.1 és újabb verziókban érhető el a Unity Catalog-kompatibilis fürtökön.
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)
Példa jegyzetfüzetre: ipywidgets
Az alábbi jegyzetfüzet néhány példát mutat be az ipywidgets jegyzetfüzetekben való használatára.
ipywidgets példajegyzetfüzet
Példa jegyzetfüzetre: ipywidgets speciális példa
Az alábbi jegyzetfüzet egy összetettebb példát mutat be, amely ipywidgets használatával hoz létre interaktív térképet.
Speciális példa: ipywidgets térképek
Ajánlott eljárások ipywidgets és Databricks widgetek használatához
Ha interaktív vezérlőket szeretne hozzáadni a Python-jegyzetfüzetekhez, a Databricks az ipywidgets használatát javasolja. Más nyelvű jegyzetfüzetek esetén használja a Databricks widgeteket.
A Databricks-vezérlőkkel paramétereket adhat át a jegyzetfüzetek között, és paramétereket adhat át a feladatoknak; az ipywidgetek nem támogatják ezeket a forgatókönyveket.
Mely külső Jupyter-vezérlők támogatottak a Databricksben?
A Databricks minden tőle telhetőt megtesz a harmadik féltől származó widgetekhez, például az ipyleaflethez, a bqplothoz és a VegaFusionhoz. Egyes külső vezérlők azonban nem támogatottak. Az Azure Databricks-jegyzetfüzetekben tesztelt widgetek listájáért forduljon az Azure Databricks-fiók csapatához.
Korlátozások
További információkért tekintse meg a Databricks-jegyzetfüzetek ismert korlátozásait .