ipywidgets

预览

此功能已在公共预览

ipywidgets是允许用户在笔记本单元格中指定参数值的可视化元素。你可以使用ipywidgets使你的Databricks Python笔记本具有交互性。

ipywidgets包包括over30种不同的控制,包括滑块、文本框和复选框等表单控件,以及选项卡、手风琴和网格等布局控件。使用这些元素,您可以构建图形用户界面来与您的笔记本代码进行交互。

请注意

需求

  • ipywidgets在Databricks Runtime 11.0及以上版本中可用。

  • 您的帐户和工作空间必须在E2版本的平台上。bob体育客户端下载要确认您使用的平台版本,请与Databricks代表联系。bob体育客户端下载

默认情况下,ipywidgets占用6062端口。在Databricks Runtime 11.2及以上版本中,如果遇到与第三方集成(如Datadog)的冲突,可以使用以下方法更改端口火花配置

spark.databricks.driver.ipykernel.commChannelPort<端口号>

例如:

spark.databricks.driver.ipykernel.commChannelPort1234

Spark的配置需要在创建集群时完成。

使用

下面的代码创建了一个带有滑块的直方图,该滑块可以取3到10之间的值。小部件的值决定了直方图中箱子的数量。当您移动滑块时,直方图立即更新。看到ipywidgets示例笔记本来试试这个。

进口ipywidgets作为小部件ipywidgets进口交互#加载数据集sparkDF火花csv“/ databricks-datasets /例如/数据- 001 / day.csv”“真正的”inferSchema“真正的”在这段代码中,' (bins=(3,10) '定义了一个整数滑块小部件,允许值在3到10之间。@interact垃圾箱3.10))defplot_histogram垃圾箱):pdfsparkDFtoPandas()pdf“临时”垃圾箱垃圾箱

下面的代码创建了一个整数滑块,可以取0到10之间的值。缺省值为5。要在代码中访问滑块的值,请使用int_slider.value

进口ipywidgets作为小部件int_slider小部件IntSlider马克斯10价值5int_slider

例如笔记本电脑

Ipywidgets示例笔记本

在新标签页打开笔记本

高级示例:使用ipywidgets进行映射

在新标签页打开笔记本

使用ipywidgets和Databricks widgets的最佳实践

要在Python笔记本中添加交互式控件,Databricks建议使用ipywidgets。对于其他语言的笔记本,请使用砖小部件

可以使用Databricks小部件在笔记本之间传递参数并将参数传递给作业;Ipywidgets不支持这些场景。

Databricks支持哪些第三方Jupyter小部件?

Databricks为第三方小部件提供了最佳支持,例如ipyleafletbqplot,VegaFusion.但是,一些第三方小部件不受支持。有关在Databricks笔记本中测试过的小部件列表,请与Databricks代表联系。

限制

  • 使用ipywidgets的笔记本必须附加到正在运行的集群。

  • 小部件状态不会在笔记本会话之间保持。每次将笔记本附加到集群时,都必须重新运行小部件单元格以呈现它们。

  • 不支持以下ipywidgets: Password, File Upload, Controller。

  • 带有LaTeX表达式的HTMLMath和Label小部件不能正确呈现。(例如,widgets.Label(值= r ' $ $ \压裂{x + 1} {x - 1} $ $’)不能正确渲染。)

  • 如果笔记本处于黑暗模式,小部件可能无法正确呈现,特别是彩色小部件。

  • 小部件输出不能在笔记本仪表板视图中使用。

  • ipywidget的最大消息有效负载大小为5 MB。使用图像或大文本数据的widget可能无法正确呈现。