ipywidgets
ipywidgets jsou vizuální prvky, které uživatelům umožňují zadat hodnoty parametrů v buňkách poznámkového bloku. Pomocí ipywidgetů můžete poznámkové bloky Databricks Pythonu nastavit jako interaktivní.
Balíček ipywidgetů obsahuje více než 30 různých ovládacích prvků, včetně ovládacích prvků formulářů, jako jsou posuvníky, textová pole a zaškrtávací políčka, a také ovládací prvky rozložení, jako jsou tabulátory, akordeony a mřížky. Pomocí těchto prvků můžete vytvořit grafická uživatelská rozhraní pro rozhraní pomocí kódu poznámkového bloku.
Poznámka:
- Pokud chcete zjistit verzi ipywidgetů, které váš cluster podporuje, přečtěte si poznámky k verzi vašeho clusteru pro Databricks Runtime.
- Některé ipywidget nefungují v Databricks Runtime 15.0.
- Informace o widgetech Databricks najdete v tématu Widgety Databricks. Pokyny k používání widgetů Databricks nebo ipywidgetů najdete v tématu Osvědčené postupy pro používání ipywidgetů a widgetů Databricks.
Požadavky
- Ipywidgets jsou k dispozici ve verzi Preview v Databricks Runtime 11.0 prostřednictvím Databricks Runtime 12.2 LTS a jsou obecně dostupné v Databricks Runtime 13.0 a vyšší. Podpora tabulek katalogu Unity je dostupná v databricks Runtime 12.2 LTS a vyšší v clusterech s podporou katalogu Unity.
- Pokud chcete v Databricks používat ipywidgety, musí mít váš prohlížeč přístup k
databricks-dev-cloudfront.dev.databricks.com
doméně.
Ve výchozím nastavení ipywidgets zabírá port 6062. Pokud v Databricks Runtime 11.3 LTS a novějším narazíte na konflikty s integracemi třetích stran, jako je Datadog, můžete port změnit pomocí následující konfigurace Sparku:
spark.databricks.driver.ipykernel.commChannelPort <port-number>
Příklad:
spark.databricks.driver.ipykernel.commChannelPort 1234
Při vytváření clusteru musí být nastavená konfigurace Sparku.
Využití
Následující kód vytvoří histogram s posuvníkem, který může převzít hodnoty mezi 3 a 10. Hodnota widgetu určuje počet intervalů v histogramu. Když posunete posuvník, histogram se okamžitě aktualizuje. Pokud to chcete vyzkoušet, podívejte se na ukázkový poznámkový blok ipywidgets.
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)
Následující kód vytvoří celočíselnou posuvník, který může převzít hodnoty mezi 0 a 10. Výchozí hodnota je 5. Pokud chcete získat přístup k hodnotě posuvníku v kódu, použijte int_slider.value
.
import ipywidgets as widgets
int_slider = widgets.IntSlider(max=10, value=5)
int_slider
Následující kód načte a zobrazí ukázkový datový rámec z tabulky v katalogu Unity. Podpora tabulek katalogu Unity je k dispozici s modulem Databricks Runtime 12.1 a novějším v clusterech s podporou katalogu Unity.
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říklad poznámkového bloku: ipywidgets
Následující poznámkový blok ukazuje některé příklady použití ipywidgetů v poznámkových blocích.
Ukázkový poznámkový blok ipywidgets
Příklad poznámkového bloku: rozšířený příklad ipywidgets
Následující poznámkový blok ukazuje složitější příklad použití ipywidgets k vytvoření interaktivní mapy.
Rozšířený příklad: mapy s ipywidgets
Osvědčené postupy pro používání widgetů ipywidget a Databricks
Pokud chcete do poznámkových bloků Pythonu přidat interaktivní ovládací prvky, databricks doporučuje používat nástroje ipywidgets. Pro poznámkové bloky v jiných jazycích použijte widgety Databricks.
Pomocí widgetů Databricks můžete předávat parametry mezi poznámkovými bloky a předávat parametry úlohám. Nástroje ipywidget tyto scénáře nepodporují.
Které widgety Jupyter třetích stran jsou v Databricks podporované?
Databricks poskytuje podporu pro widgety třetích stran, jako jsou ipyleaflet, bqplot a VegaFusion. Některé widgety třetích stran se ale nepodporují. Seznam widgetů, které byly testovány v poznámkových blocích Azure Databricks, získáte od týmu účtu Azure Databricks.
Omezení
Další informace najdete v poznámkových blocích Databricks se známými omezeními .