ipywidgets

預覽

此功能已在公共預覽

ipywidgets是可視化元素,允許用戶在筆記本單元格中指定參數值。可以使用ipywidgets使Databricks Python筆記本具有交互性。

ipywidgets包包括over30種不同的控製,包括滑塊、文本框和複選框等表單控件,以及選項卡、手風琴和網格等布局控件。使用這些元素,您可以構建圖形用戶界麵來與您的筆記本代碼交互。

請注意

有關Databricks小部件的信息,請參見磚小部件.有關何時使用Databricks小部件或ipywidgets的指導原則,請參見使用ipywidgets和Databricks widgets的最佳實踐

需求

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

  • 您的帳戶和工作空間必須位於平台的E2版本上。Beplay体育安卓版本要確認您正在使用的平台版本,請與您的Databricks代表Beplay体育安卓版本聯係。

請注意

默認情況下,ipywidgets占用6062端口。在Databricks Runtime 11.2及以上版本中,如果您與第三方集成(如datdog)發生衝突,則可以使用以下方法更改端口火花配置

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:密碼、文件上傳、控製器。

  • 帶有LaTeX表達式的HTMLMath和Label小部件不能正確呈現。(例如,widgets.Label(值= r ' $ $ \壓裂{x + 1} {x - 1} $ $’)沒有正確渲染。)

  • 如果筆記本處於暗模式,小部件可能無法正常渲染,特別是彩色小部件。

  • Widget輸出不能在筆記本儀表板視圖中使用。

  • ipywidget的最大消息有效負載大小是5 MB。使用圖像或大型文本數據的widget可能無法正確呈現。