ipywidgets
ipywidgets är visuella element som gör det möjligt för användare att ange parametervärden i anteckningsceller. Du kan använda ipywidgets för att göra dina Databricks Python-notebook-filer interaktiva.
Paketet ipywidgets innehåller över 30 olika kontroller, inklusive formulärkontroller som skjutreglage, textrutor och kryssrutor, samt layoutkontroller som flikar, dragspel och rutnät. Med de här elementen kan du skapa grafiska användargränssnitt för att interagera med din notebook-kod.
Kommentar
- Information om vilken version av ipywidgets som klustret stöder finns i viktig information för Databricks Runtime-versionen av klustret.
- Vissa ipywidgets fungerar inte i Databricks Runtime 15.0.
- Information om Databricks-widgetar finns i Databricks-widgetar. Riktlinjer för när du ska använda Databricks-widgetar eller ipywidgets finns i Regelverk för att använda ipywidgets och Databricks-widgetar.
Krav
- ipywidgets är tillgängliga i förhandsversionen i Databricks Runtime 11.0 via Databricks Runtime 12.2 LTS och är allmänt tillgängliga i Databricks Runtime 13.0 och senare. Stöd för Unity Catalog-tabeller finns i Databricks Runtime 12.2 LTS och senare i Unity Catalog-aktiverade kluster.
- Om du vill använda ipywidgets i Databricks måste webbläsaren kunna komma åt domänen
databricks-dev-cloudfront.dev.databricks.com
.
Som standard upptar ipywidgets port 6062. Med Databricks Runtime 11.3 LTS och senare kan du ändra porten med hjälp av följande Spark-konfiguration om du stöter på konflikter med tredjepartsintegreringar som Datadog:
spark.databricks.driver.ipykernel.commChannelPort <port-number>
Till exempel:
spark.databricks.driver.ipykernel.commChannelPort 1234
Spark-konfigurationen måste anges när klustret skapas.
Förbrukning
Följande kod skapar ett histogram med ett skjutreglage som kan ta värden mellan 3 och 10. Värdet för widgeten avgör antalet lagerplatser i histogrammet. När du flyttar skjutreglaget uppdateras histogrammet omedelbart. Se ipywidgets-exempelanteckningsboken för att prova det här.
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)
Följande kod skapar ett heltalsreglage som kan ta värden mellan 0 och 10. Standardvärdet är 5. Om du vill komma åt värdet för skjutreglaget i koden använder du int_slider.value
.
import ipywidgets as widgets
int_slider = widgets.IntSlider(max=10, value=5)
int_slider
Följande kod läser in och visar en exempeldataram från en tabell i Unity Catalog. Stöd för Unity Catalog-tabeller är tillgängligt med Databricks Runtime 12.1 och senare i Unity Catalog-aktiverade kluster.
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)
Notebook-exempel: ipywidgets
Följande notebook-fil visar några exempel på hur du använder ipywidgets i notebook-filer.
ipywidgets-exempelanteckningsbok
Notebook-exempel: ipywidgets avancerat exempel
Följande notebook-fil visar ett mer komplext exempel med ipywidgets för att skapa en interaktiv karta.
Avancerat exempel: mappar med ipywidgets
Metodtips för att använda ipywidgets och Databricks-widgetar
För att lägga till interaktiva kontroller i Python-notebook-filer rekommenderar Databricks att du använder ipywidgets. För notebook-filer på andra språk använder du Databricks-widgetar.
Du kan använda Databricks-widgetar för att skicka parametrar mellan notebook-filer och skicka parametrar till jobb. ipywidgets stöder inte dessa scenarier.
Vilka Jupyter-widgetar från tredje part stöds i Databricks?
Databricks ger bästa möjliga stöd för widgetar från tredje part, till exempel ipyleaflet, bqplot och VegaFusion. Vissa widgetar från tredje part stöds dock inte. Om du vill ha en lista över widgetar som har testats i Azure Databricks-notebook-filer kontaktar du ditt Azure Databricks-kontoteam.
Begränsningar
Mer information finns i Kända begränsningar för Databricks-notebook-filer .