Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
ipywidgets to elementy wizualne, które umożliwiają użytkownikom określanie wartości parametrów w komórkach notesu. Możesz użyć widżetów ipywidgets, aby twoje notesy Python usługi Databricks mogły być interaktywne.
Pakiet widżetów ipywidgets zawiera ponad 30 różnych kontrolek, w tym kontrolki formularzy, takie jak suwaki, pola tekstowe i pola wyboru, a także kontrolki układu, takie jak kontrolki accordion, widżety Ipwidgets i siatki. Korzystając z tych elementów, można tworzyć graficzne interfejsy użytkownika na potrzeby interakcji z kodem Twojego notesu.
Uwaga
- Aby określić wersję serwerów ipywidget obsługiwaną przez klaster, zapoznaj się z informacjami o wersji dla wersji środowiska Databricks Runtime klastra.
- Niektóre adresy ipywidget nie działają w środowisku Databricks Runtime 15.0.
- Aby uzyskać informacje na temat widżetów usługi Databricks, zobacz Widżety usługi Databricks. Aby uzyskać wskazówki dotyczące używania widżetów usługi Databricks lub widżetów ipywidgets, zobacz Najlepsze rozwiązania dotyczące korzystania z widżetów ipywidgets i Databricks.
Wymagania
- Usługa ipywidgets jest dostępna w wersji zapoznawczej w środowisku Databricks Runtime 11.0 za pośrednictwem środowiska Databricks Runtime 12.2 LTS i są ogólnie dostępne w środowisku Databricks Runtime 13.0 lub nowszym. Obsługa tabel wykazu aparatu Unity jest dostępna w środowisku Databricks Runtime 12.2 LTS i nowszym w klastrach z obsługą wykazu aparatu Unity.
- Aby używać adresów ipywidgets w usłudze Databricks, przeglądarka musi mieć dostęp do
databricks-dev-cloudfront.dev.databricks.com
domeny.
Domyślnie ipywidgets zajmuje port 6062. W przypadku środowiska Databricks Runtime 11.3 LTS lub nowszego, jeśli wystąpią konflikty z integracją innych firm, takimi jak Datadog, możesz zmienić port przy użyciu następującej konfiguracji platformy Spark:
spark.databricks.driver.ipykernel.commChannelPort <port-number>
Na przykład:
spark.databricks.driver.ipykernel.commChannelPort 1234
Po utworzeniu klastra należy ustawić konfigurację platformy Spark.
Użycie
Poniższy kod tworzy histogram z suwakiem, który może przyjmować wartości z zakresu od 3 do 10. Wartość widżetu określa liczbę pojemników na histogramie. Po przeniesieniu suwaka histogram zostanie natychmiast zaktualizowany. Zobacz przykładowy notes ipywidgets, aby wypróbować ten notes .
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)
Poniższy kod tworzy suwak liczby całkowitej, który może przyjmować wartości z zakresu od 0 do 10. Domyślna wartość wynosi 5. Aby uzyskać dostęp do wartości suwaka w kodzie, użyj polecenia int_slider.value
.
import ipywidgets as widgets
int_slider = widgets.IntSlider(max=10, value=5)
int_slider
Poniższy kod ładuje i wyświetla przykładową ramkę danych z tabeli w wykazie aparatu Unity. Obsługa tabel wykazu aparatu Unity jest dostępna w przypadku środowiska Databricks Runtime 12.1 lub nowszego w klastrach z obsługą wykazu aparatu 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)
Przykład notesu: ipywidgets
W poniższym notesie przedstawiono kilka przykładów użycia funkcji ipywidgets w notesach.
przykładowy notes ipywidgets
Przykład notesu: przykład zaawansowany ipywidgets
Poniższy notes przedstawia bardziej złożony przykład tworzenia interaktywnej mapy przy użyciu interfejsów ipywidgets.
Zaawansowany przykład: mapy z adresami ipywidgets
Najlepsze rozwiązania dotyczące używania widżetów ipywidgets i Databricks
Aby dodać interaktywne kontrolki do notesów języka Python, usługa Databricks zaleca używanie poleceń ipywidgets. W przypadku notesów w innych językach użyj widżetów usługi Databricks.
Widżety usługi Databricks umożliwiają przekazywanie parametrów między notesami i przekazywanie parametrów do zadań. Te scenariusze nie obsługują obiektów ipywidgets.
Które widżety Jupyter innych firm są obsługiwane w usłudze Databricks?
Usługa Databricks zapewnia najlepszą obsługę widżetów innych firm, takich jak ipyleaflet, bqplot i VegaFusion. Jednak niektóre widżety innych firm nie są obsługiwane. Aby uzyskać listę widżetów przetestowanych w notesach usługi Azure Databricks, skontaktuj się z zespołem konta usługi Azure Databricks.
Ograniczenia
Aby uzyskać więcej informacji, zobacz Znane ograniczenia dotyczące notesów usługi Databricks.