Freigeben über


ipywidgets

ipywidgets sind visuelle Elemente, mit denen Benutzer Parameterwerte in Notebookzellen angeben können. Mit ipywidgets können Sie Ihre Databricks Python-Notebooks interaktiv machen.

Das ipywidgets-Paket enthält mehr als 30 verschiedene Steuerelemente. Hierzu zählen unter anderem Formularsteuerelemente wie Schieberegler, Textfelder und Kontrollkästchen sowie Layoutsteuerelemente wie Registerkarten, Akkordeonmenüs und Raster. Mithilfe dieser Elemente können Sie grafische Benutzeroberflächen für die Interaktion mit Ihrem Notebookcode erstellen.

Hinweis

Anforderungen

  • ipywidgets sind in der Vorschauversion in Databricks Runtime 11.0 bis Databricks Runtime 12.2 LTS verfügbar und sind allgemein in Databricks Runtime 13.0 und höher verfügbar. Unterstützung für Unity Catalog-Tabellen ist in Databricks Runtime 12.2 LTS und höher in Unity Catalog-fähigen Clustern verfügbar.
  • Um ipywidgets auf Databricks zu verwenden, muss Ihr Browser in der Lage sein, auf die databricks-dev-cloudfront.dev.databricks.com-Domäne zuzugreifen.

Standardmäßig belegt ipywidgets Port 6062. Wenn bei Databricks Runtime 11.3 LTS und höher Konflikte mit Drittanbieterintegrationen wie Datadog auftreten, können Sie den Port mithilfe der folgenden Spark-Konfiguration ändern:

spark.databricks.driver.ipykernel.commChannelPort <port-number>

Zum Beispiel:

spark.databricks.driver.ipykernel.commChannelPort 1234

Die Spark-Konfiguration muss festgelegt werden, wenn der Cluster erstellt wird.

Verwendung

Der folgende Code erstellt ein Histogramm mit einem Schieberegler, mit dem Werte zwischen 3 und 10 festgelegt werden können. Der Wert des Widgets bestimmt die Anzahl von Bins im Histogramm. Wenn Sie den Schieberegler verschieben, wird das Histogramm umgehend aktualisiert. Dies können Sie mit dem ipywidgets-Beispielnotebook ausprobieren.

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)

Der folgende Code erstellt ein Schieberegler für ganze Zahlen, mit dem Werte zwischen 0 und 10 festgelegt werden können. Der Standardwert ist 5. Auf den Wert des Schiebereglers in Ihrem Code kann mithilfe von int_slider.value zugegriffen werden.

import ipywidgets as widgets

int_slider = widgets.IntSlider(max=10, value=5)
int_slider

Im folgenden Code wird ein Beispieldatenrahmen aus einer Tabelle in Unity Catalog geladen und angezeigt. Unterstützung für Unity Catalog-Tabellen ist für Databricks Runtime 12.1 und höher auf Unity Catalog-fähigen Clustern verfügbar.

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)

Notebookbeispiel: ipywidgets

Das folgende Notebook zeigt einige Beispiele für die Verwendung von ipywidgets in Notebooks.

ipywidgets-Beispielnotebook

Notebook abrufen

Notebookbeispiel: Erweitertes ipywidgets-Beispiel

Das folgende Notebook zeigt ein komplexeres Beispiel, in dem ipywidgets zum Erstellen einer interaktiven Karte verwendet wird.

Komplexeres Beispiel: Zuordnungen mit ipywidgets

Notebook abrufen

Bewährte Methoden für die Verwendung von ipywidgets und Databricks-Widgets

Databricks empfiehlt die Verwendung von ipywidgets, um Python-Notebooks interaktive Steuerelemente hinzuzufügen. Verwenden Sie für Notebooks in anderen Sprachen Databricks-Widgets.

Mithilfe von Databricks-Widgets können Sie Parameter zwischen Notebooks übergeben sowie Parameter an Aufträge übergeben. Dies wird von ipywidgets nicht unterstützt.

Welche Jupyter-Widgets von Drittanbietern werden in Databricks unterstützt?

Databricks bietet Best-Effort-Unterstützung für Widgets von Drittanbietern, z. B. ipyleaflet, bqplot, und VegaFusion. Einige Widgets von Drittanbietern werden jedoch nicht unterstützt. Wenden Sie sich für eine Liste der Widgets, die in Azure Databricks-Notebooks getestet wurden, an Ihr Azure Databricks-Kundenberatungsteam.

Begrenzungen

Weitere Informationen finden Sie unter Bekannte Einschränkungen von Databricks-Notebooks.