ipywidgets

ipywidgets是視覺元素,允許用戶指定參數值在筆記本電池。你可以使用ipywidgets磚Python筆記本電腦互動。

ipywidgets包包含結束30種不同的控製,包括表單控件,如滑塊,文本框,複選框,以及布局控件,如標簽、手風琴、網格。使用這些元素,您可以構建圖形用戶界麵與你的筆記本接口代碼。

請注意

需求

ipywidgets可用在預覽通過磚磚11.1運行時的運行時12.2 LTS,和通常可在磚運行時13.0及以上。支持統一編目表可在磚上運行時12.1及以上的統一Catalog-enabled集群。

默認情況下,ipywidgets占用端口6062。磚運行時11.2及以上,如果你遇到衝突與第三方集成如Datadog,您可以更改端口使用以下火花配置:

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

例如:

spark.databricks.driver.ipykernel.commChannelPort1234年

火花的配置必須設置創建集群時。

使用

下麵的代碼創建了一個直方圖與滑塊之間可以承擔值3和10。小部件的價值決定了直方圖的垃圾箱。當你移動滑塊,直方圖立即更新。看到ipywidgets例子筆記本試試這個。

進口ipywidgets作為小部件ipywidgets進口交互#加載數據集sparkDF=火花csv(“/ databricks-datasets /例如/數據- 001 / day.csv”,=“真正的”,inferSchema=“真正的”)#在這段代碼中,“(垃圾箱= 10(3)”定義了一個整數滑塊部件,它允許3和10之間的值。@interact(垃圾箱=(3,10))defplot_histogram(垃圾箱):pdf=sparkDFtoPandas()pdf(=“臨時”,垃圾箱=垃圾箱)

下麵的代碼創建一個整數滑塊,可以取的值在0和10之間。默認值是5。進入滑塊的價值在你的代碼中,使用int_slider.value

進口ipywidgets作為小部件int_slider=小部件IntSlider(馬克斯=10,價值=5)int_slider

下麵的代碼從表中加載並顯示一個示例dataframe統一目錄。支持統一編目表與磚運行時12.1及以上的可以統一Catalog-enabled集群。

進口ipywidgets作為小部件#創建按鈕部件。單擊該按鈕加載一個采樣dataframe從加州大學表。按鈕=小部件按鈕(描述=“負載dataframe樣本”)#輸出小部件顯示dataframe加載輸出=小部件輸出()defload_sample_df(table_name):返回火花sql(f“SELECT *{table_name}限製1000”)defon_button_clicked(_):輸出:輸出clear_output()df=load_sample_df(' <目錄>。<模式>。<表>的)打印(dftoPandas())#注冊按鈕的回調函數查詢加州大學和顯示結果輸出部件按鈕on_click(on_button_clicked)顯示(按鈕,輸出)

例如筆記本電腦

ipywidgets例子筆記本

在新標簽頁打開筆記本

先進的例子:與ipywidgets地圖

在新標簽頁打開筆記本

使用ipywidgets和磚小部件的最佳實踐

添加Python交互式控製筆記本,磚使用ipywidgets建議。筆記本電腦在其他語言中,使用磚小部件

您可以使用磚部件筆記本電腦之間傳遞參數並通過參數來就業;ipywidgets不支持這些場景。

支持第三方Jupyter部件在磚嗎?

磚提供最優支持第三方小部件,比如ipyleaflet,bqplot,VegaFusion。然而,一些不支持第三方小部件。的列表小部件測試數據磚筆記本,請聯係您的磚的代表。

限製

  • 一個筆記本使用ipywidgets必須附加到正在運行的集群。

  • 小部件狀態在筆記本不會保留會話。你必須重新運行部件細胞呈現他們每次你把筆記本一個集群。

  • 不支持以下ipywidgets:密碼,文件上傳、控製器。

  • HTMLMath和標簽小部件與乳膠表達式不正確呈現。(例如,widgets.Label(值= r ' $ $ \壓裂{x + 1} {x - 1} $ $’)不正確地呈現。)

  • 小部件可能無法正常顯示,如果筆記本是在黑暗的模式,尤其是彩色小部件。

  • 小部件輸出不能用於筆記本儀表板視圖。

  • 的最大消息有效負載大小ipywidget 5 MB。小部件,使用圖像或大型文本數據可能不正確地呈現。