在磚筆記本的開發代碼
這個頁麵描述如何開發代碼在磚筆記本,包括自動完成,自動格式化Python和SQL,結合Python和SQL的筆記本,筆記本修訂曆史和跟蹤。
更多細節關於先進與編輯功能,如自動完成、變量選擇、multi-cursor支持,並排的差別,看到使用磚筆記本和文件的編輯器。
查找和替換文本
查找和替換文本在一個筆記本,選擇編輯>查找和替換。當前突出顯示匹配的橙色和所有其他比賽用黃色突出顯示。
替換當前匹配,點擊取代。替換所有匹配的筆記本,點擊替換所有。
比賽之間移動,單擊上一頁和下一個按鈕。你也可以按shift + enter和輸入去前一個和後一個比賽,分別。
關閉查找和替換工具,單擊或按esc。
變量的探險家
與磚運行時的12.1及以上,可以直接觀察到當前的Python變量在筆記本上的UI。
打開變量瀏覽器,點擊在正確的欄。變量explorer打開時,顯示值和數據類型,包括形狀,每個變量當前定義的筆記本。(形狀PySpark dataframe”嗎?”,因為計算形狀可以計算昂貴。)
過濾顯示,搜索框中輸入文本。自動過濾列表類型。
變量的值會自動更新你的筆記本電池。
模塊化代碼
預覽
這個特性是在公共預覽。
磚運行時的11.2及以上,您可以創建和管理源代碼文件的磚工作區,然後將這些文件導入到你的筆記本電腦。
在使用源代碼文件的更多信息,見磚筆記本之間共享代碼和使用Python和R模塊。
運行選中的文本
你可以強調代碼或SQL語句在筆記本電池和運行選擇。這是非常有用的,當你想在代碼和快速迭代查詢。
強調你想要運行的線路。
選擇選擇Run > Run文本或使用鍵盤快捷鍵
Ctrl
+轉變
+輸入
。如果沒有文本突出顯示,運行選中的文本執行當前行。
如果您使用的是混合語言在一個單元中,你必須包括% <語言>
行選擇。
運行選中的文本也執行倒塌的代碼,如果有任何選擇突出顯示。
特殊的細胞命令等運行%
,%皮普
,% sh
都受支持。
運行選中的文本的局限性
你不能使用運行選中的文本細胞上有多個輸出選項卡(即細胞,你定義了一個數據概要或可視化)。
如果你不使用新的筆記本電腦編輯器,運行選中的文本隻能在編輯模式(即,當光標在一個代碼單元)。如果光標選中的文本在細胞外,運行選中的文本不工作。為了避免這種限製,啟用新的筆記本電腦編輯器。
格式代碼細胞
磚提供了工具,允許你格式Python和SQL代碼快速輕鬆地在筆記本電池。這些工具減少努力保持代碼格式化並幫助在整個筆記本電腦執行相同的編碼標準。
格式Python細胞
預覽
這個特性是在公共預覽。
磚支持Python代碼的格式使用黑色的在筆記本上。筆記本必須連接到一個集群黑色的
和tokenize-rt
安裝Python包,黑色的格式化程序執行在集群上的筆記本相連。
磚運行時的11.2及以上,磚預設的黑色的
和tokenize-rt
。你可以直接使用格式化程序,而不需要安裝這些庫。
磚運行時的11.1及以下,您必須安裝黑色= = 22.3.0
和tokenize-rt = = 4.2.1
從PyPI上你的筆記本或集群使用Python格式化程序。你可以在你的筆記本上運行以下命令:
%皮普安裝黑色的= =22.3.0標記- - - - - -rt= =4.2.1
或在集群上安裝該庫。
關於安裝庫的更多細節,請參閱Python環境管理。
在磚回購的文件和筆記本電腦,您可以配置Python格式化程序的基礎上pyproject.toml
文件。要使用該功能,創建一個pyproject.toml
回購根目錄中的文件,並根據配置它黑色的配置格式。編輯工具。黑色的] section in the file. The configuration is applied when you format any file and notebook in that Repo.
如何格式化Python和SQL細胞
你必須有可以編輯的權限筆記本上的格式代碼。
你可以用以下方式觸發格式化程序:
格式一個細胞
多個單元格式
選擇多個單元然後選擇編輯>格式細胞(s)。如果您選擇超過一種語言的細胞,隻格式化SQL和Python細胞。這包括那些使用
%的sql
和% python
。格式在筆記本上所有Python和SQL細胞
選擇編輯>格式筆記本。如果你的筆記本包含不止一個語言,隻格式化SQL和Python細胞。這包括那些使用
%的sql
和% python
。
代碼格式化的局限性
黑色的執行PEP 8標準4空間縮進。壓痕是不可配置的。
格式不支持嵌入式Python字符串在SQL UDF。同樣,格式化SQL字符串裏麵不支持Python UDF。
版本曆史
磚筆記本維護筆記本的曆史版本,允許您查看和恢複之前的快照的筆記本。在版本可以執行以下操作:添加評論,恢複和刪除版本,和清晰的版本曆史。
你也可以同步與遠程數據磚Git存儲庫。
訪問筆記本版本,點擊正確的欄。筆記本出現修訂曆史。您也可以選擇文件>版本曆史。
代碼語言在筆記本
混合語言
默認情況下,筆記本電腦的電池使用默認的語言。你可以覆蓋默認的語言在一個單元中通過單擊語言按鈕,從下拉菜單選擇一種語言。
或者,您可以使用語言神奇的命令% <語言>
在一個細胞的開始。支持的神奇的命令是:% python
,r %
,% scala
,%的sql
。
請注意
當你調用一個語言神奇的命令,該命令派往的REPL執行上下文的筆記本。變量定義在一個語言(語言),因此在REPL REPL的不可用另一種語言。repl隻能通過外部資源(如文件共享狀態在對象存儲DBFS或對象。
筆記本也支持一些輔助魔法命令:
% sh
:允許您運行shell代碼在你的筆記本上。失敗的細胞如果shell命令有一個非零退出狀態,添加- e
選擇。該命令隻運行在Apache火花司機,而不是工人。所有節點上運行shell命令,使用一個init腳本。% fs
:允許您使用dbutils
文件係統命令。例如,運行dbutils.fs.ls
命令列表文件,您可以指定% fsls
代替。有關更多信息,請參見如何處理文件數據磚嗎。%醫學博士
:可以包括各種類型的文檔,包括文本、圖片、和數學公式和方程。請參閱下一節。
SQL語法突出顯示和自動完成在Python命令
語法高亮顯示和SQL自動完成可以使用SQL在Python命令時,如在嗎spark.sql
命令。
探索Python中的SQL細胞結果筆記本使用Python
您可能想要使用SQL數據加載使用Python和探索它。在磚Python的筆記本,表結果從一個SQL語言細胞自動作為一個Python DataFrame分配給變量_sqldf
。
在磚運行時的13.0及以上,您也可以訪問DataFrame結果使用IPython的輸出緩存係統。提示櫃台出現在底部的輸出消息顯示細胞的結果。對於示例所示,你會參考的結果出[2]
。
請注意
的變量
_sqldf
可能每次都重新分配嗎%的sql
電池運行。避免失去參考DataFrame結果,將其分配給一個新的變量名之前運行%的sql
細胞:new_dataframe_name=_sqldf
如果查詢使用小部件參數化的結果並不像Python DataFrame可用。
如果查詢使用關鍵詞
緩存表
或UNCACHE表
,結果不能作為一個Python DataFrame。
屏幕截圖顯示了一個例子:
並行執行SQL細胞
當一個命令運行時和你的筆記本電腦連接到集群互動,您可以運行一個SQL細胞同時與當前命令。執行SQL細胞在一個新的、並行會話。
並行執行細胞:
運行單元。
點擊現在運行。細胞是立即執行。
因為細胞是運行在一個新的會話,臨時觀點,udf,隱式Python DataFrame(_sqldf
)不支持並行執行的細胞。此外,默認目錄和數據庫名稱並行執行期間使用。如果您的代碼是指一個表在不同的目錄或數據庫中,您必須指定表名使用三級名稱空間(“目錄”,“模式”。“表”)。
顯示圖像
存儲在顯示圖像FileStore使用語法:
% md ! (測試)(文件/ image.png)
例如,假設您有磚FileStore標誌圖像文件:
dbfs ls dbfs: / FileStore /
databricks-logo-mobile.png
當你在減價細胞包括以下代碼:
在細胞圖像呈現:
顯示數學公式
筆記本電腦支持KaTeX顯示數學公式和方程。例如,
% md \ \ c = \ \ \ \下午√{b ^ ^ 2 + 2} \ \) \ \ b (a {_i} {_j} = {_i} {_j} \ \) $ $ c = \ \ \ \下午sqrt {b ^ ^ 2 + 2} $ $ \ \ [{_i} {_j} = b {_i} {_j} \ \]
顯示為:
和
% md \ \ (f(\β)= -Y_t ^ T X_t \β+ \和日誌(1 + {e} ^{間t \子彈\β})+ \壓裂{1}{2}\δt S_t ^ ^{1} \三角洲\ \)\ \(\δ=(β\ \ mu_ {t - 1}) \ \)
顯示為:
包括HTML
可以通過使用HTML包含在一個筆記本的功能displayHTML
。看到HTML、D3和SVG的筆記本對於如何做到這一點的一個例子。
請注意
的displayHTML
iframe是服務的領域databricksusercontent.com
和iframe沙箱包括allow-same-origin
屬性。databricksusercontent.com
必須從瀏覽器訪問。如果現在被你的公司網絡,它必須被添加到一個允許列表。