使用筆記本

您可以使用 Azure Databricks 筆記本來開發資料科學和機器學習工作流程,並與工程、資料科學、機器學習和 BI 小組的同事共同作業。 Azure Databricks 筆記本提供即時共同撰寫和自動化版本控制。

您可以使用 Python、SQL、Scala 和 R 在 Azure Databricks 筆記本中工作,並使用您選擇的程式庫自訂您的環境。 Azure Databricks 筆記本也提供內建的資料視覺效果和自動版本設定。 您可以將筆記本排程為自動執行工作流程。 您可以匯出或 .ipynb 格式的結果和筆記本 .html ,並建置和共用儀表板。

設定筆記本設定

若要設定筆記本設定:

  1. 按一下工作區右上方的使用者名稱,然後從下拉式清單中選取 [ 使用者設定 ]。
  2. 按一下 [ 筆記本設定] 索引標籤。

在筆記本中開發

筆記本會使用兩種類型的儲存格:程式碼儲存格和 Markdown 儲存格。 程式碼資料格包含可執行檔程式碼。 Markdown 儲存格包含 Markdown 程式碼,會在執行儲存格時轉譯成文字和圖形。 您可以個別執行每個資料格,或一次執行整個筆記本。

筆記本工具列包含可用來管理和編輯筆記本的功能表和圖示。

筆記本工具列

筆記本名稱旁邊是可讓您 變更筆記本預設語言的 按鈕,如果筆記本包含在 Databricks 存放庫中, 請開啟 [Git] 對話方塊

若要檢視 舊版 筆記本,請按一下 [上次編輯...] 功能表右邊的訊息。

下表說明右邊的圖示:

圖示 描述
Notebook 標頭實驗圖示 開啟 MLflow Notebook 實驗
筆記本標頭批註圖示 開啟 筆記本批註
Notebook 標頭叢集選取器 開啟 叢集選取器。 此按鈕的名稱會根據筆記本和叢集狀態而變更。
Notebook 標頭作業排程器 開啟 作業排程器
Notebook 標頭 DLT 選取器 開啟 Delta 即時資料表。 只有當筆記本是 Delta Live Tables 管線的一部分時,才會顯示此按鈕。
Notebook 標頭共用按鈕 開啟 許可權對話方塊

儲存格動作 儲存格動作 功能表可讓您剪下、複製和貼上儲存格、在筆記本中移動儲存格、將標題新增至儲存格,以及隱藏程式碼或結果。

儲存格動作功能表

您也可以從此功能表中執行程式碼資料格:

儲存格動作功能表 - 執行

隱藏 儲存格儲存格最小化 或刪除儲存格 刪除圖示 的功能表項目也會顯示。

針對 Markdown 儲存格,會出現將儲存格新增至儀表板的選項。 如需詳細資訊,請參閱 Dashboards (儀表板)。

儀表板

鍵盤快速鍵

若要顯示鍵盤快速鍵,請選取 [ 說明 > 鍵盤] 快捷方式。 可用的鍵盤快速鍵取決於游標是否位於程式碼儲存格中, (編輯模式) (命令模式) 。

使用儲存格

當您刪除儲存格時,預設會出現刪除確認對話方塊。 若要停用未來的確認對話方塊,請選取 [不要再顯示此 專案] 核取方塊,然後按一下 [ 確認]。 您也可以在使用者設定中使用[開啟命令刪除確認] 選項來切換確認對話方塊設定。

重要事項

筆記本資料格的大小上限,內容和輸出都是 16 MB。

建立、剪下、複製及貼上儲存格

若要建立新的儲存格,請將滑鼠停留在頂端或底部的儲存格上,然後按一下 [ 新增儲存格 ] 圖示。 您也可以使用筆記本儲存格功能表:按一下 [向下插入號] ,然後選取 [ 在上方新增儲存格 ] 或 [ 在下方新增儲存格]。

有數個選項可以剪下和複製儲存格:

  • 使用儲存格動作功能表 儲存格動作儲存格動作 在儲存格右側。 按一下 [向下插入號 ],然後選取 [ 剪下儲存格 ] 或 [ 複製儲存格]。
  • 使用鍵盤快速鍵: Command-XCtrl-X 剪下 和 Command-CCtrl-C 複製。
  • 使用筆記本頂端的 [編輯 ] 功能表。 選取 [剪下 ] 或 [ 複製]。

剪下或複製儲存格之後,您可以將這些儲存格貼到筆記本中的其他位置、不同的筆記本,或貼到不同瀏覽器索引標籤或視窗中的筆記本中。 若要貼上儲存格,請使用鍵盤快速鍵 Command-VCtrl-V 。 儲存格會貼到目前儲存格下方。

您可以使用鍵盤快速鍵 Command-ZCtrl-Z 復原剪下或貼上動作。

注意

如果您使用 Safari,則必須使用鍵盤快速鍵。

  • 若要剪下並貼上儲存格,請按一下儲存格動作功能表中的 [向下插入號] ,然後選取 [ 剪下儲存格]。 然後,從另一個儲存格的儲存格動作功能表中,選取 [ 貼上] 或 [ 貼到下方 ]。

    您可以使用 [編輯 > 復原剪下儲存格] 來還原剪下儲存格。

  • 若要選取連續的儲存格,請按一下 Markdown 儲存格,然後使用[向上移] 或[向下 + ] 來選取其上方或下方的儲存格。 使用編輯功能表,將選取的儲存格複製、剪下、貼上或刪除為群組。 若要選取所有儲存格,請選取 [編輯 > 選取所有儲存格 ],或使用命令模式快捷方式 Cmd+A

設定預設語言

筆記本的預設語言會出現在筆記本名稱旁邊。

筆記本預設語言

若要變更預設語言,請按一下語言按鈕,然後從下拉式功能表中選取新語言。 為了確保現有的命令能夠繼續運作,先前預設語言的命令會自動加上語言 magic 命令的前置詞。

混合語言

根據預設,儲存格會使用筆記本的預設語言。 您可以按一下語言按鈕,然後從下拉式功能表中選取語言,以覆寫資料格中的預設語言。

儲存格語言下拉式清單

或者,您可以使用儲存格開頭的語言 magic 命令 %<language> 。 支援的 magic 命令包括: %python%r%scala%sql

注意

當您叫用語言 magic 命令時,命令會分派至筆記本 執行內容 中的 REPL。 以一種語言 (定義的變數,因此該語言的 REPL) 無法在其他語言的 REPL 中使用。 REPL 只能透過外部資源分享狀態,例如 DBFS 中的檔案或物件儲存體中的物件。

筆記本也支援一些輔助魔術命令:

  • %sh:可讓您在筆記本中執行殼層程式碼。 如果殼層命令有非零結束狀態,若要讓儲存格失敗,請新增 -e 選項。 此命令只會在 Apache Spark 驅動程式上執行,而不是背景工作角色。 若要在所有節點上執行殼層命令,請使用 init 腳本
  • %fs:可讓您使用 dbutils 檔案系統命令。 例如,若要執行 dbutils.fs.ls 命令來列出檔案,您可以改為指定 %fs ls 。 如需詳細資訊,請參閱 如何在 Azure Databricks 上使用檔案
  • %md:可讓您包括各種類型的文件,包括文字、影像,以及數學公式和方程式。 請參閱下一節。

使用 Python 原生探索 Python 筆記本中的 SQL 資料格結果

您可能想要使用 SQL 載入資料,並使用 Python 加以探索。 在 Databricks Python 筆記本中,SQL 語言資料格中的資料表結果會自動以 Python DataFrame 的形式提供。 Python DataFrame 的名稱為 _sqldf

注意

  • 在 Python 筆記本中,DataFrame _sqldf 不會自動儲存,而且會取代為最近執行 SQL 資料格的結果。 若要儲存 DataFrame,請在 Python 資料格中執行此程式碼:

    new_dataframe_name = _sqldf
    
  • 如果查詢使用 小工具 進行參數化,則結果無法作為 Python 資料框架使用。

  • 如果查詢使用 關鍵字 CACHE TABLEUNCACHE TABLE ,則結果無法當做 Python DataFrame 使用。

此螢幕擷取畫面顯示範例:

sql results dataframe

Python 命令中的 SQL 語法醒目提示和自動完成

當您在 Python 命令中使用 SQL 時,可以使用語法醒目提示和 SQL 自動完成 ,例如在命令中 spark.sql

記錄您的程式碼

您可以從儲存格的語言按鈕選取 Markdown 或使用 %md magic 命令,建立 Markdown 儲存格來記錄程式碼。 儲存格的內容會轉譯為 HTML。 例如,此程式碼片段包含層級一標題的標記:

%md # Hello This is a Title

它會轉譯為 HTML 標題:

筆記本 HTML 標題

可折疊的標題

在包含 Markdown 標題的儲存格之後出現的儲存格可以折迭成標題儲存格。 下圖顯示一個名為 Heading 1 的層級標題,其中已折迭下列兩個儲存格。

折迭的儲存格

若要展開和折迭標題,請按一下 +-

另請參閱 隱藏和顯示儲存格內容

若要在包含 Markdown 標題的儲存格之後展開或折迭儲存格,請從 [視] 功能表選取 [折迭所有標題]。

您可以使用相對路徑連結到 Markdown 儲存格中的其他筆記本或資料夾。 指定 href 錨點標籤的 屬性做為相對路徑,從 開始 $ ,然後遵循與 Unix 檔案系統相同的模式:

%md
<a href="$./myNotebook">Link to notebook in same folder as current notebook</a>
<a href="$../myFolder">Link to folder in parent folder of current notebook</a>
<a href="$./myFolder2/myNotebook2">Link to nested notebook</a>

顯示影像

若要顯示儲存在 FileStore中的影像,請使用語法:

%md
![test](files/image.png)

例如,假設您在 FileStore 中有 Databricks 標誌影像檔:

dbfs ls dbfs:/FileStore/
databricks-logo-mobile.png

當您在 Markdown 儲存格中包含下列程式碼時:

Markdown 儲存格中的影像

影像會在資料格中轉譯:

轉譯的影像

顯示數學方程式

筆記本支援 KaTeX 來顯示數學公式和方程式。 例如,

%md
\\(c = \\pm\\sqrt{a^2 + b^2} \\)

\\(A{_i}{_j}=B{_i}{_j}\\)

$$c = \\pm\\sqrt{a^2 + b^2}$$

\\[A{_i}{_j}=B{_i}{_j}\\]

會轉譯為:

轉譯的方程式 1

%md
\\( f(\beta)= -Y_t^T X_t \beta + \sum log( 1+{e}^{X_t\bullet\beta}) + \frac{1}{2}\delta^t S_t^{-1}\delta\\)

where \\(\delta=(\beta - \mu_{t-1})\\)

會轉譯為:

轉譯的方程式 2

包含 HTML

您可以使用 函式 displayHTML 在筆記本中包含 HTML。 如需如何執行這項操作的範例 ,請參閱筆記本中的 HTML、D3 和 SVG

注意

iframe displayHTML 會從網域 databricksusercontent.com 提供,而 iframe 沙箱包含 allow-same-origin 屬性。 databricksusercontent.com 必須可從瀏覽器存取。 如果公司網路目前遭到封鎖,則必須將其新增至允許清單。

命令批註

您可以使用命令批註與共同作業者討論。

若要切換 [批註] 提要欄位,請按一下筆記本右上方的 [ 批註 ] 圖示。

切換筆記本批註

若要將批註新增至命令:

  1. 反白顯示命令文字,然後按一下批註泡泡:

    開啟註解

  2. 新增您的批註,然後按一下 [ 批註]。

    新增批註

若要編輯、刪除或回復批註,請按一下批註並選擇動作。

編輯批註

變更儲存格顯示

筆記本有三個顯示選項:

  • 標準檢視:結果會在程式碼儲存格之後立即顯示。
  • 僅限結果:只會顯示結果。
  • 並存:程式碼和結果資料格會並排顯示。

使用 [檢 視] 功能表 [檢視功能表 ] 來選取顯示選項。

顯示行號和命令列

若要顯示或隱藏行號或命令列號碼,請從 [視] 功能表選取 [行號] 或 [命令編號]。 對於行號,您也可以使用鍵盤快速鍵 Control+L

如果您啟用行或命令列號碼,Databricks 會儲存您的喜好設定,並將其顯示在該瀏覽器的其他所有筆記本中。

儲存格上方的命令編號會連結至該特定命令。 如果您按一下儲存格的命令編號,它會更新 URL 以錨定至該命令。 如果您想要連結至筆記本中的特定命令,請以滑鼠右鍵按一下命令編號,然後選擇 [複製連結位址]。

尋找和取代文字

若要尋找並取代筆記本內的文字,請選取 [編輯 > 尋找和取代]。 目前的相符專案會以橙色反白顯示,而所有其他相符專案則會以黃色醒目提示。

比對文字

若要取代目前的相符專案,請按一下 [ 取代]。 若要取代筆記本中的所有相符專案,請按一下 [ 全部取代]。

若要在相符專案之間移動,請按一下 [ 上一頁 ] 和 [ 下一步] 按鈕。 您也可以按 shift+Enter ,然後 分別進入 上一個和下一個相符專案。

若要關閉尋找和取代工具,請按一下 [ 刪除圖示 ] 或按 esc鍵。

自動完成

您可以在輸入程式碼區段時,使用 Azure Databricks 自動完成自動完成程式碼區段。 Azure Databricks 支援兩種類型的自動完成:本機和伺服器。

本機自動完成會完成筆記本中定義的單字。 伺服器自動完成會存取已定義型別、類別和物件的叢集,以及 SQL 資料庫和資料表名稱。 若要啟用伺服器自動完成, 請將筆記本附加至叢集 ,並執行定義可完成物件 的所有儲存格

重要事項

R 筆記本中的伺服器自動完成會在命令執行期間遭到封鎖。

若要觸發自動完成,請在輸入可完成的物件之後按 Tab 鍵。 例如,在您定義並執行包含 和 instance 定義的 MyClass 儲存格之後,可以完成 的方法 instance ,而且當您按下Tab鍵時,會顯示有效的完成清單。

觸發程式自動完成

SQL 資料庫和資料表名稱完成、類型完成、語法醒目提示和 SQL 自動完成可在 SQL 資料格中使用,以及當您在 Python 命令中使用 SQL 時,例如在命令中 spark.sql

類型完成— — SQL 完成

在 Databricks Runtime 7.4 和更新版本中,您可以在輸入可完成的 Python 物件之後按 Shift+Tab 來顯示 Python 檔字串提示。 docstrings 包含與 help() 物件函式相同的資訊。

Python docstring

格式化 SQL

Azure Databricks 提供的工具可讓您快速且輕鬆地在筆記本資料格中格式化 SQL 程式碼。 這些工具可減少讓程式碼保持格式化的工作,並協助在整個筆記本中強制執行相同的程式碼撰寫標準。

您可以透過下列方式觸發格式子:

  • 單一儲存格

    • 鍵盤快速鍵:按 Cmd+Shift+F

    • 命令操作功能表:在 SQL 儲存格的命令操作下拉式功能表中選取 [格式化 SQL]。 此專案只會顯示在 SQL 筆記本資料格中,以及具有語言魔術的專案 %sql

      從命令內容格式化 SQL

  • 多個儲存格

    選取 多個 SQL 資料格 ,然後選取 [編輯 > 格式 SQL 資料格]。 如果您選取多個語言的儲存格,則只會格式化 SQL 資料格。 這包括使用 %sql 的 。

    從 [編輯] 功能表格式化 SQL

以下是上述範例中格式化後的第一個儲存格:

格式化 SQL 之後

檢視目錄

若要顯示自動產生的目錄,請按一下筆記本左上方的箭號, (側邊欄與最上層資料格) 。 目錄是從筆記本中使用的 Markdown 標題產生。

開啟 TOC

若要關閉目錄,請按一下向左箭號。

接近 TOC

以深色模式檢視筆記本

您可以選擇以深色模式顯示筆記本。 若要開啟或關閉深色模式,請選取 [ 檢視 > 主題 ],然後選取 [ 淺色主題 ] 或 [ 深色主題]。

執行筆記本

您必須先 將筆記本附加至叢集,才能在筆記本中執行任何資料格。

若要執行筆記本中的所有儲存格,請選取筆記本工具列中的 [ 全部執行 ]。

重要事項

如果掛接和卸載的步驟位於相同的筆記本中,請勿使用[全部執行]。 這可能會導致競爭狀況,並可能損毀掛接點。

若要執行單一資料格,請按一下資料格,然後按 shift+enter

若要在儲存格之前或之後執行所有儲存格,請使用儲存格動作功能表最右邊的 [儲存格] 動作 。 按一下 [ 執行功能表 ],然後選取 [ 全部執行上方 ] 或 [ 全部執行][全部執行] 包含您位於的儲存格; [全部執行] 未執行。

當筆記本執行時,筆記本索引標籤中的圖示會從 筆記本索引標籤圖示 變更為 執行筆記本索引標籤圖示。 如果在瀏覽器中啟用通知,而且您在筆記本執行時流覽至不同的索引標籤,則筆記本完成時會出現通知。

將筆記本附加至叢集

若要將筆記本附加至叢集,您需要 [可附加至叢集層級] 許可權

重要事項

只要筆記本連結至叢集,任何具有 筆記本上可執行許可權 的使用者都有隱含許可權可存取叢集。

若要將筆記本附加至 叢集,請按一下筆記本工具列中的叢集選取器,然後從下拉式功能表中選取叢集。 功能表會顯示您最近使用或目前正在執行的叢集選取專案。

附加筆記本

若要從所有可用的叢集中選取,請按一下 [ 更多...] ,然後從對話方塊中的下拉式功能表中選取現有的叢集。

更多叢集對話方塊

您也可以從下拉式功能表中選取 [ 建立新資源...] ,以建立新的叢集。

重要事項

連結的筆記本已定義下列 Apache Spark 變數。

類別 變數名稱
SparkContext sc
SQLContext/HiveContext sqlContext
SparkSession (Spark 2.x) spark

請勿建立 SparkSessionSparkContextSQLContext 。 這麼做會導致行為不一致。

從叢集卸離筆記本

若要從叢集卸離筆記本,請按一下筆記本工具列中的叢集選取器,並將滑鼠停留在清單中的附加叢集上,以顯示側邊功能表。 從側邊功能表中,選取 [ 中斷連結]。

卸離筆記本

您也可以使用叢集詳細資料頁面上的 [ Notebooks ] 索引標籤,從叢集中斷連結筆記本。

當您從叢集卸離筆記本時,會移除 執行內容 ,並從筆記本清除所有計算變數值。

提示

Azure Databricks 建議您將未使用的筆記本與叢集中斷連結。 這會釋放驅動程式上的記憶體空間。

檢視每個儲存格的多個輸出

非 Python 筆記本中的 Python 筆記本和 %python 儲存格支援每個資料格的多個輸出。 例如,下列程式碼的輸出包含繪圖和資料表:

import pandas as pd
from sklearn.datasets import load_iris

data = load_iris()
iris = pd.DataFrame(data=data.data, columns=data.feature_names)
ax = iris.plot()
print("plot")
display(ax)
print("data")
display(iris)

在 Databricks Runtime 7.3 LTS 中,您必須設定 spark.databricks.workspace.multipleResults.enabled true 來啟用此功能。

Python 和 Scala 錯誤醒目提示

Python 和 Scala 筆記本支援錯誤醒目提示。 擲回錯誤的程式程式碼會在資料格中反白顯示。 此外,如果錯誤輸出是 stacktrace,則會在 stacktrace 中將擲回錯誤的儲存格顯示為儲存格的連結。 您可以按一下此連結以跳至違規的程式碼。

Python 錯誤醒目提示

Scala 錯誤醒目提示

通知

通知會警示您特定事件,例如執行 筆記本 期間目前執行的命令,以及哪些命令處於錯誤狀態。 當您的筆記本顯示多個錯誤通知時,第一個筆記本會有一個連結,可讓您清除所有通知。

筆記本通知

預設會啟用筆記本通知。 您可以在 使用者設定中停用它們。

背景通知

如果您啟動筆記本執行,然後從執行筆記本的索引標籤或視窗流覽,則筆記本完成時會出現通知。 您可以在瀏覽器設定中停用此通知。

Databricks Advisor

Databricks Advisor 會在每次執行命令時自動分析命令,並在筆記本中顯示適當的建議。 建議注意事項提供的資訊可協助您改善工作負載的效能、降低成本,以及避免常見的錯誤。

檢視建議

具有燈泡圖示的藍色方塊表示建議適用于命令。 方塊會顯示建議的相異片段數目。

Databricks 建議

按一下燈泡展開方塊並檢視建議。 一或多個建議將會變成可見。

檢視建議

按一下 [ 深入瞭解 ] 連結以檢視檔,並提供與建議相關的詳細資訊。

按一下 [不要再顯示此 連結] 來隱藏建議片段。 將不會再顯示此類型的建議。 此動作可以在 筆記本設定中反轉

再次按一下燈泡以折迭建議方塊。

建議設定

若要啟用或停用 Databricks Advisor,請移至 使用者設定 ,或按一下展開建議方塊中的齒輪圖示。

筆記本設定

切換 [ 開啟 Databricks Advisor ] 選項以啟用或停用建議。

如果目前隱藏了一或多個建議類型,則會顯示 [重設隱藏的建議 ] 連結。 按一下連結,讓建議類型再次顯示。

開啟或執行 Delta Live Tables 管線

對於指派給 Delta Live Tables 管線的筆記本,您可以使用筆記本工具列中的 [Delta Live Tables] 下拉式功能表,開啟管線詳細資料、啟動管線更新或刪除管線。

若要開啟管線詳細資料,請按一下[差異即時資料表],然後按一下管線名稱,或按一下[管線中的作業垂直省略號 > 檢視]。

若要開始更新管線,請按一下 [差異即時資料表 ],然後按一下管線名稱旁的 [ 開始 ]。

若要刪除指派筆記本的管線,請按一下[Delta Live Tables >作業垂直省略號> 刪除]。

在筆記本中共用程式碼

Azure Databricks 支援數種方法,在筆記本之間共用程式碼。 每一項都可讓您在筆記本中模組化和共用程式碼,就像使用連結 一樣。

如需筆記本之間的更複雜的互動,請參閱 將筆記本中的程式碼模組化或連結程式代碼

用來 %run 匯入筆記本

magic 會 %run 從另一個筆記本執行所有命令。 一般用途是在其他筆記本所使用的一個筆記本中定義協助程式函式。

在下列範例中,第一個筆記本會定義協助程式函式, reverse 當您使用 %run magic 來執行 shared-code-notebook 之後,第二個筆記本中就會提供此函式。

共用程式碼筆記本

筆記本匯入範例

由於這兩個筆記本都位於工作區中的相同目錄中,因此請使用 中的 ./shared-code-notebook 前置詞 ./ 來指出路徑應該相對於目前執行的筆記本解析。 您可以將筆記本組織成目錄,例如 %run ./dir/notebook ,或使用類似 的 %run /Users/username@organization.com/directory/notebook 絕對路徑。

注意

  • %run 本身必須 位於儲存格中,因為它會內嵌執行整個筆記本。
  • 您無法使用 %run 來執行 Python 檔案,以及 import 該檔案中定義的實體到筆記本中。 若要從 Python 檔案匯入,請參閱 使用 git 參考原始程式碼檔案。 或者,將檔案封裝到 Python 程式庫、從該 Python 程式庫建立 Azure Databricks 連結 ,並將 程式庫安裝到 您用來執行筆記本的叢集中。
  • 當您用來 %run 執行包含小工具的筆記本時,根據預設,指定的筆記本會以小工具的預設值執行。 您也可以將值傳入小工具;請參閱 搭配 %run 使用 Databricks 小工具

使用 git 參考原始程式碼檔案

重要事項

這項功能處於公開預覽狀態

對於儲存在 Azure Databricks 存放庫中的筆記本,您可以參考存放庫中的原始程式碼檔案。 下列範例會使用 Python 檔案,而不是筆記本。

建立新的範例存放庫以顯示檔案配置:

新增存放庫

範例存放庫

若要設定現有的 Git 存放庫,請參閱 複製遠端 Git 存放庫

在存放庫中建立兩個檔案:

  1. 具有共用程式碼的 Python 檔案。
  2. 使用共用 Python 程式碼的筆記本。

共用程式碼存放庫檔案

Python 檔案 shared.py 包含協助程式。

共用程式碼 Python 檔案

現在,當您開啟筆記本時,您可以使用類似 import 的一般命令來參考存放庫中的原始程式碼檔案。

共用程式碼 Git 檔案

如需在 Git 存放庫中使用檔案的詳細資訊,請參閱在 UI 中使用檔案

管理筆記本狀態和輸出

筆記本附加至叢集執行一或多個資料格之後,您的筆記本會有狀態並顯示輸出。 本節說明如何管理筆記本狀態和輸出。

本節內容:

清除筆記本狀態和輸出

若要清除筆記本狀態和輸出,請選取 [執行] 功能表底部的 [清除] 選項之一。

清除狀態和輸出

顯示結果

執行儲存格時,Azure Databricks 會傳回 DataFrame 的 1000 個數據列。 使用 Databricks Runtime 8.4 和更新版本時,如果有超過 1000 個數據列,您可以重新執行查詢,以顯示最多 10,000 個數據列。

重新執行的選項

下載結果

預設會啟用下載結果。 若要切換此設定,請參閱 管理從筆記本下載結果的能力

您可以將包含表格式輸出的資料格結果下載到本機電腦。 按一下索引標籤標題旁邊的三個按鈕功能表。 功能表選項取決於結果中的資料列數目和 Databricks 執行時間版本。 下載的結果會儲存在本機電腦上,作為名為 的 export.csv CSV 檔案。

下載儲存格結果

隱藏和顯示儲存格內容

儲存格內容包含儲存格程式碼和執行儲存格的結果。 您可以使用儲存格右上方的 [儲存格動作] 功能表的 [ 儲存格動作 ] 來隱藏和顯示儲存格程式碼和結果。

若要隱藏儲存格程式碼:

  • 按一下 [向下插入號] ,然後選取 [ 隱藏程式碼]

若要隱藏並顯示儲存格結果,請執行下列任一動作:

  • 按一下 [向下插入號] ,然後選取 [ 隱藏結果]
  • 選取 儲存格最小化
  • 輸入 Esc > Shift + o

若要顯示隱藏的儲存格程式碼或結果,請按一下 [顯示 連結]:

顯示隱藏的程式碼和結果

另請參閱 可折迭標題

筆記本隔離

筆記本隔離是指筆記本之間變數和類別的可見度。 Azure Databricks 支援兩種類型的隔離:

  • 變數和類別隔離
  • Spark 會話隔離

注意

Azure Databricks 會使用 叢集上設定的存取模式來管理使用者隔離。

  • 沒有共用隔離:多個使用者可以使用相同的叢集。 使用者會在叢集層級共用認證。 不會強制執行任何資料存取控制。
  • 單一使用者:只有具名使用者可以使用叢集。 所有命令都會以該使用者的許可權執行。 不會強制執行 Hive 中繼存放區中的資料表 ACL。 此存取模式支援 Unity 目錄。
  • 共用:多個使用者可以使用相同的叢集。 使用者彼此完全隔離,而且每個使用者都以自己的許可權執行命令。 會強制執行 Hive 中繼存放區中的資料表 ACL。 此存取模式支援 Unity 目錄。

變數和類別隔離

變數和類別僅適用于目前的筆記本。 例如,連結至相同叢集的兩個筆記本可以定義具有相同名稱的變數和類別,但這些物件不同。

若要定義 連結至相同叢集之所有筆記本可見的類別,請在 封裝資料格中定義 類別。 然後,您可以使用其完整名稱來存取類別,這與存取附加 Scala 或 JAVA 程式庫中的類別相同。

Spark 會話隔離

每個連結至執行 Apache Spark 2.0.0 和更新版本之叢集的筆記本都有一 spark 個名為 的預先定義變數,其代表 SparkSessionSparkSession 是使用 Spark API 以及設定執行時間組態的進入點。

預設會啟用 Spark 會話隔離。 您也可以使用 全域 暫存檢視,跨筆記本共用暫存檢視。 請參閱 CREATE VIEW。 若要停用 Spark 會話隔離,請在Spark 組態中將 設定 spark.databricks.session.share 為 。 true

重要事項

設定 spark.databricks.session.share true 會中斷串流筆記本資料格和串流作業所使用的監視。 具體來說:

  • 串流資料格中的 圖表 不會顯示。
  • 只要資料流程正在執行,工作就不會封鎖 (它們只會「順利」完成,停止資料流程) 。
  • 不會監視作業中的資料流程是否終止。 您必須改為手動呼叫 awaitTermination()
  • 呼叫在串流資料框架上 建立新的視覺效果 無法運作。

觸發其他語言命令的儲存格 (,也就是使用 %scala%python%r 和) 的儲存格,以及 %sql 包含其他筆記本 (的儲存格,也就是使用 %run) 的儲存格是目前筆記本的一部分。 因此,這些儲存格會與其他筆記本儲存格位於相同的會話中。 相反地, 筆記本工作流程 會執行具有隔離 SparkSession 的 筆記本,這表示在其他筆記本中 看不到 這類筆記本中定義的暫存檢視。

版本歷程記錄

Azure Databricks 筆記本會維護筆記本版本的歷程記錄,讓您檢視和還原筆記本先前的快照集。 您可以在版本上執行下列動作:新增批註、還原和刪除版本,以及清除版本歷程記錄。

若要存取筆記本版本,請按一下 [上次編輯...] 工具列中的訊息。 筆記本版本會出現在瀏覽器索引標籤右側。您也可以選取 [ 檔案 > 版本歷程記錄]。

新增意見

若要將批註新增至最新版本:

  1. 按一下版本。

  2. 按一下 [立即儲存]。

    儲存批註

  3. 在 [儲存筆記本修訂] 對話方塊中,輸入批註。

  4. 按一下 [檔案] 。 筆記本版本會與輸入的批註一起儲存。

還原版本

若要還原版本:

  1. 按一下版本。

  2. 按一下 [還原此修訂]。

    還原修訂

  3. 按一下 [確認] 。 選取的版本會變成筆記本的最新版本。

刪除版本

若要刪除筆記本的版本專案:

  1. 按一下版本。

  2. 按一下垃圾桶圖示 垃圾桶

    刪除修訂

  3. 按一下 [是,清除]。 選取的版本會從歷程記錄中刪除。

清除版本歷程記錄

若要清除筆記本的版本歷程記錄:

  1. 選取 [檔案 > 清除版本歷程記錄]。

  2. 按一下 [是,清除]。 已清除筆記本版本歷程記錄。

    警告

    清除版本歷程記錄之後,就無法復原。

使用 Git 進行版本控制

若要將 Azure Databricks 中的工作與遠端 Git 存放庫同步處理, Databricks 建議使用 Git 與 Databricks Repos 整合

Azure Databricks 也支援將單一筆記本連結至 Git 型版本控制工具: 適用于筆記本的 Git 版本控制 (舊版)

測試筆記本

本節涵蓋在 Databricks 筆記本中測試程式碼的數種方式。 您可以個別或一起使用這些方法。 另請參閱 筆記本的單元測試

許多單元測試程式庫會直接在筆記本內運作。 例如,您可以使用內建 Python unittest 套件來測試筆記本程式碼。

def reverse(s):
    return s[::-1]

import unittest

class TestHelpers(unittest.TestCase):
    def test_reverse(self):
        self.assertEqual(reverse('abc'), 'cba')

r = unittest.main(argv=[''], verbosity=2, exit=False)
assert r.result.wasSuccessful(), 'Test failed; see logs above'

測試失敗會出現在儲存格的輸出區域中。

單元測試失敗

您可以使用 小工具 來區分測試調用與單一筆記本中的一般調用。

小工具自訂執行

若要隱藏測試程式碼和結果,請從儲存格下拉式功能表中選取相關聯的功能表項目。 即使隱藏結果,也會出現任何發生的錯誤。

隱藏測試程式碼和結果

若要定期且自動執行測試,您可以使用 排程的筆記本。 您可以設定作業,將 通知電子郵件 傳送至您指定的位址。

排程的筆記本測試

將測試程式碼與筆記本分開

若要將測試程式碼與所測試的程式碼分開,請參閱 在筆記本中共用程式碼

使用 %run 的範例:

分隔測試程式碼

對於儲存在 Databricks 存放庫中的程式碼,您可以使用 Web 終端機在原始程式碼檔案中執行測試,就像在本機電腦上一樣。

存放庫測試調用

您也可以從筆記本執行此測試。

筆記本測試調用

對於 Databricks 存放庫中的筆記本,您可以設定筆記本測試以針對每個認可執行 CI/CD 樣式工作流程。 請參閱Databricks GitHub Actions