磚小部件
輸入小部件允許您將參數添加到您的筆記本和儀表板。小部件API包含調用創建各種類型的輸入小部件,刪除它們,得到綁定值。
如果您正在運行磚運行時11.0或更高版本,您還可以使用在磚ipywidgets筆記本。
磚小部件是最好的:
建立一個筆記本或儀表板可重複使用不同的參數
迅速探索一個查詢的結果用不同的參數
查看部件API的文檔在Scala中,Python,或R,使用以下命令:dbutils.widgets.help ()
磚小部件的類型
有4個類型的部件:
文本
:在文本框中輸入一個值。下拉
:從一個列表中選擇一個值提供值。組合框
:結合文本和下拉。從提供的列表中選擇一個值或輸入一個文本框。多選
:從列表中選擇一個或多個值提供值。
小部件下拉工具欄和文本框出現後立即筆記本。
磚widget API
widget API設計保持一致在Scala中,Python,和r . widget API在SQL略有不同,但相當於其他語言。你管理小部件通過磚公用事業接口。
第一個參數為所有小部件類型
的名字
。這是您使用的名稱來訪問小部件。第二個參數是
defaultValue
;小部件的默認設置。第三個參數是為所有小部件類型除外
文本
是選擇
,一個值列表小部件。這個論點不用於文本
小部件類型。最後一個參數是
標簽
,一個可選值標簽顯示在文本框小部件或下拉。
小部件隻接受字符串值。
dbutils。小部件。下拉(“狀態”,“CA”,(“CA”,“他”,“小姐”,“紐約”,”或“,“我們”])dbutils。小部件。文本(“數據庫”,“beplay体育app下载地址customers_dev”)
創建小部件下拉狀態默認的“CA”選擇選擇*從(值(“CA”),(“他”),(“小姐”),(“紐約”),(”或“),(“我們”))創建小部件文本數據庫默認的“beplay体育app下载地址customers_dev”
磚小部件的示例
為每個方法,看到詳細的API文檔使用dbutils.widgets.help(“<方法名稱>”)
。在所有的語言幫助API是相同的。例如:
dbutils。小部件。幫助(“下拉”)
創建一個簡單的下拉窗口小部件。
dbutils。小部件。下拉(“狀態”,“CA”,(“CA”,“他”,“小姐”,“紐約”,”或“,“我們”])
創建小部件下拉狀態默認的“CA”選擇選擇*從(值(“CA”),(“他”),(“小姐”),(“紐約”),(”或“),(“我們”))
與小部件從部件麵板。
您可以訪問小部件的當前值調用:
dbutils。小部件。得到(“狀態”)
選擇" ${狀態}"
最後,您可以刪除小部件或筆記本中所有小部件:
dbutils。小部件。刪除(“狀態”)dbutils。小部件。removeAll()
刪除小部件狀態
如果您刪除了一個小部件,您不能創建一個小部件位於相同的單元中。您必須創建小部件在另一個細胞。
在火花SQL使用小部件的值
火花SQL訪問小部件值作為字符串可以在查詢中使用。
您可以訪問小部件定義在任何語言從火花SQL執行交互式地筆記本電腦。考慮以下流程:
創建一個下拉窗口小部件的所有數據庫當前目錄:
dbutils。小部件。下拉(“數據庫”,“默認”,(數據庫(0]為數據庫在火花。目錄。listDatabases()))
創建一個文本小部件手動指定一個表名:
dbutils。小部件。文本(“表”,”“)
運行一個SQL查詢數據庫中所有表(從下拉列表中選擇):
數據庫中顯示表$ {}
手動輸入一個表名
表
小部件。預覽的內容表,而不需要編輯的內容查詢:
SELECT * FROM ${}數據庫。${表}限製100
請注意
一般來說,您不能使用小部件之間傳遞參數不同的語言在一個筆記本上。您可以創建一個小部件__arg1
在Python細胞用在SQL或Scala細胞如果你運行一個細胞。然而,這並不工作如果你使用運行所有或者運行筆記本工作。
解決方法:
對於筆記本電腦不混合的語言,您可以為每個語言創建一個筆記本和傳遞參數時運行筆記本。
您可以訪問小部件使用
spark.sql ()
調用。例如,在Python中:spark.sql(“選擇getArgument (__arg1)”), (1) [0] [0]
。
配置小部件設置
您可以配置小部件的行為,當一個新的值被選中時,小部件麵板是否總是固定的筆記本,筆記本和改變小部件的布局。
單擊圖標的右端部件麵板。
在彈出窗口小部件麵板設置”對話框中,選擇小部件的執行行為。
運行筆記本:每次選擇一個新值,整個筆記本重新運行。
運行訪問命令:每次選擇一個新值,隻有細胞檢索特定部件的值重新運行。這是默認設置當您創建一個小部件。SQL細胞不運行在這個配置。
什麼都不做:選擇一個新值,每次重新運行。
銷的小部件的筆記本或上麵的小部件中第一個單元格,點擊。設置保存在每個用戶的基礎上。點擊圖釘圖標再次重置為默認的行為。
如果你有可以管理筆記本電腦的許可,你可以通過點擊配置小部件的布局。每個部件的秩序和大小可以定製。保存或撤銷您的更改,單擊。
小部件的布局保存筆記本。如果你改變從缺省配置小部件的布局,新部件不添加按字母順序排列的。
將小部件的布局重置為默認的順序和大小,點擊打開小部件麵板設置對話框,然後單擊重新布局。的
removeAll ()
命令不重置小部件的布局。
例如筆記本電腦
你可以看到一個演示的運行訪問命令設置在以下筆記本工作。的一年
小部件創建與設置2014年
和用於DataFrame API和SQL命令。
當你改變的設置一年
小部件2007年
DataFrame命令重播,但不重新運行SQL命令。
使用磚小部件的%
如果你運行一個筆記本包含小部件,運行指定的筆記本小部件的默認值。你也可以通過值小部件。例如:
%運行/道路/ /筆記本$ X=“10”$ Y=“1”
這個例子運行指定的筆記本和傳遞10
到小部件X和1
到小部件Y。
限製
有一個已知問題,小部件的狀態可能不正確清楚緊迫運行所有,即使在清算或刪除小部件的代碼。如果發生這種情況,您將會看到一個小部件之間的差異的視覺狀態及其打印狀態。重新運行單獨的細胞可能繞過這個問題。完全避免這個問題,磚建議你使用ipywidgets。