ipywidgets
预览
此功能已在公共预览.
ipywidgets是允许用户在笔记本单元格中指定参数值的可视化元素。你可以使用ipywidgets使你的Databricks Python笔记本具有交互性。
ipywidgets包包括over30种不同的控制,包括滑块、文本框和复选框等表单控件,以及选项卡、手风琴和网格等布局控件。使用这些元素,您可以构建图形用户界面来与您的笔记本代码进行交互。
请注意
若要确定集群支持的ipywidgets版本,请参考发布说明获取集群的Databricks运行时版本。
有关Databricks小部件的信息,请参见砖小部件.有关何时使用Databricks小部件或ipywidgets的指南,请参见使用ipywidgets和Databricks widgets的最佳实践.
需求
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(垃圾箱):pdf=sparkDF.toPandas()pdf.嘘(列=“临时”,垃圾箱=垃圾箱)
下面的代码创建了一个整数滑块,可以取0到10之间的值。缺省值为5。要在代码中访问滑块的值,请使用int_slider.value
.
进口ipywidgets作为小部件int_slider=小部件.IntSlider(马克斯=10,价值=5)int_slider
使用ipywidgets和Databricks widgets的最佳实践
要在Python笔记本中添加交互式控件,Databricks建议使用ipywidgets。对于其他语言的笔记本,请使用砖小部件.
可以使用Databricks小部件在笔记本之间传递参数并将参数传递给作业;Ipywidgets不支持这些场景。
Databricks支持哪些第三方Jupyter小部件?
Databricks为第三方小部件提供了最佳支持,例如ipyleaflet,bqplot,VegaFusion.但是,一些第三方小部件不受支持。有关在Databricks笔记本中测试过的小部件列表,请与Databricks代表联系。
限制
使用ipywidgets的笔记本必须附加到正在运行的集群。
小部件状态不会在笔记本会话之间保持。每次将笔记本附加到集群时,都必须重新运行小部件单元格以呈现它们。
不支持以下ipywidgets: Password, File Upload, Controller。
带有LaTeX表达式的HTMLMath和Label小部件不能正确呈现。(例如,
widgets.Label(值= r ' $ $ \压裂{x + 1} {x - 1} $ $’)
不能正确渲染。)如果笔记本处于黑暗模式,小部件可能无法正确呈现,特别是彩色小部件。
小部件输出不能在笔记本仪表板视图中使用。
ipywidget的最大消息有效负载大小为5 MB。使用图像或大文本数据的widget可能无法正确呈现。