Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ipywidgets — это визуальные элементы, которые позволяют пользователям указывать значения параметров для ячеек записной книжки. Вы можете использовать ipywidgets для создания интерактивных записных книжек на платформе Databricks Python.
Пакет ipywidgets включает более 30 разных элементов управления, включая элементы управления формами, например ползунки, текстовые поля и флажки, а также элементы управления макетом, например вкладки, аккордеоны и сетки. С помощью этих элементов можно создавать графические пользовательские интерфейсы для взаимодействия с кодом записной книжки.
Примечание.
- Чтобы определить версию ipywidgets, которую поддерживает ваш кластер, обратитесь к примечаниям к релизу версии Databricks Runtime вашего кластера.
- Некоторые ipywidget не работают в Databricks Runtime 15.0.
- Сведения о мини-приложениях Databricks см. в статье Мини-приложения. Рекомендации по использованию мини-приложений Databricks или ipywidgets см. в рекомендациях по использованию мини-приложений ipywidgets и мини-приложений Databricks.
Требования
- ipywidgets доступны в предварительной версии в Databricks Runtime с 11.0 до 12.2 LTS и общедоступны в Databricks Runtime 13.0 и выше. Поддержка таблиц каталога Unity доступна в Databricks Runtime 12.2 LTS и более поздних версиях в кластерах с поддержкой каталога Unity.
- Чтобы использовать ipywidgets в Databricks, браузер должен иметь доступ к домену
databricks-dev-cloudfront.dev.databricks.com.
По умолчанию ipywidget занимает порт 6062. При использовании Databricks Runtime 11.3 LTS и более поздних версий при возникновении конфликтов с сторонними интеграциями, такими как Datadog, можно изменить порт с помощью следующей конфигурации Spark:
spark.databricks.driver.ipykernel.commChannelPort <port-number>
Например:
spark.databricks.driver.ipykernel.commChannelPort 1234
При создании кластера необходимо задать конфигурацию Spark.
Использование
Следующий код создает гистограмму с ползунком, который может принимать значения от 3 до 10. Значение виджета определяет количество ячеек в гистограмме. При перемещении ползунка гистограмма немедленно обновляется. Вы можете ознакомиться с этой возможностью на примере записной книжки 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)
Следующий код создает ползунок, который может принимать целочисленные значения от 0 до 10. Значение по умолчанию равно 5. Чтобы получить значение ползунка в коде, используйте int_slider.value.
import ipywidgets as widgets
int_slider = widgets.IntSlider(max=10, value=5)
int_slider
Следующий код загружает и отображает пример кадра данных из таблицы в каталоге Unity. Поддержка таблиц каталога Unity доступна в кластерах с Databricks Runtime 12.1 и выше, поддерживающих каталог 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)
Пример записной книжки: ipywidgets
В следующей записной книжке показаны некоторые примеры использования ipywidget в записных книжках.
Пример записной книжки ipywidgets
Пример блокнота: расширенный пример ipywidgets
В следующей записной книжке показан более сложный пример использования ipywidgets для создания интерактивной карты.
Расширенный пример: карты с ipywidgets
Рекомендации по использованию мини-приложений ipywidgets и Databricks
Чтобы добавить интерактивные элементы управления в Python-записные книжки, Databricks рекомендует использовать ipywidgets. Для записных книжек на других языках используйте мини-приложения Databricks.
Мини-приложения Databricks можно использовать для передачи параметров между записными книжками и передачи параметров заданиям, тогда как Ipywidgets не поддерживают такие сценарии.
Сторонние мини-приложения Jupyter, поддерживаемые в Databricks
Databricks обеспечивает оптимальную поддержку сторонних мини-приложений, таких как ipyleaflet, bqplot и VegaFusion. Однако некоторые сторонние мини-приложения не поддерживаются. Для получения списка виджетов, которые были протестированы в записных книжках Azure Databricks, обратитесь к команде по работе с учетными записями в Azure Databricks.
Ограничения
Для получения дополнительной информации см. известные ограничения блокнотов Databricks.