Notatka
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ć biblioteki ipywidgets, aby uczynić swoje notatniki Databricks w Pythonie interaktywnymi.
Pakiet 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 zakładki, akordeony 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ę ipywidgets obsługiwaną przez klaster, zobacz informacje o wersji środowiska Databricks Runtime używanego przez twój klaster.
- Niektóre ipywidgets nie działają w wersji 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 Databricks lub ipywidgets, zobacz Najlepsze praktyki 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 Unity Catalog jest dostępna w środowisku Databricks Runtime 12.2 LTS i nowszym na klastrach z włączoną obsługą Unity Catalog.
- Aby używać ipywidgets w usłudze Databricks, przeglądarka musi mieć dostęp do
databricks-dev-cloudfront.dev.databricks.comdomeny.
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 go wypróbować.
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ładowy dataframe z tabeli w Unity Catalog. Obsługa tabel katalogu Unity jest dostępna w przypadku środowiska Databricks Runtime 12.1 i nowszych w klastrach z włączonym katalogiem 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 notatnika: ipywidgets
W poniższym notesie przedstawiono kilka przykładów użycia funkcji ipywidgets w notesach.
przykładowy notatnik ipywidgets
Przykład notatnika: zaawansowany przykład ipywidgets
Poniższy notatnik przedstawia bardziej złożony przykład użycia ipywidgets do stworzenia interaktywnej mapy.
Zaawansowany przykład: mapy z ipywidgets
Najlepsze rozwiązania dotyczące używania widżetów ipywidgets i Databricks
Aby dodać kontrolki interaktywne do notesów Python, Databricks zaleca używanie 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ń. ipywidgets nie obsługują tych scenariuszy.
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 Azure Databricks, skontaktuj się z zespołem ds. kont Azure Databricks.
Ograniczenia
Aby uzyskać więcej informacji, zobacz Znane ograniczenia notatników Databricks.