您可以使用適用於 Visual Studio Code 的 Databricks Connect 擴充功能,在 Visual Studio Code 的介面中運行並偵錯整個或個別的筆記本單元格,並查看其結果。 所有程式代碼都會在本機執行,而涉及 DataFrame 作業的所有程式代碼都會在遠端 Azure Databricks 工作區的叢集上執行,並執行回應會傳回給本機呼叫端。 所有程式代碼都會在本機偵錯,而所有Spark程式代碼都會繼續在遠端 Azure Databricks 工作區中的叢集上執行。 核心 Spark 引擎程式代碼無法直接從客戶端進行偵錯。
備註
此功能適用於 Databricks Runtime 13.3 和更新版本。
若要在適用於 Visual Studio Code 的 Databricks 擴充功能中啟用筆記本的 Databricks Connect 整合,您必須在適用於 Visual Studio Code 的 Databricks 擴充功能中安裝 Databricks Connect。 請參閱使用 Databricks Connect 針對 Visual Studio Code 的 Databricks 擴充功能除錯程式碼。
執行 Python 筆記本儲存格
對於具有.py擴展名的筆記本,當您在 Visual Studio Code IDE 中開啟筆記本時,每個單元格都會顯示 [執行單元格]、[執行上方] 和 [偵錯單元格] 按鈕。 當您執行儲存格時,其結果會顯示在 IDE 中的個別索引標籤中。 當您進行偵錯時,正在偵錯的儲存格會顯示 [繼續]、 [停止] 和 [跳過 ] 按鈕。 當您偵錯數據格時,您可以使用 Visual Studio Code 偵錯功能,例如監看變數的狀態,以及檢視呼叫堆疊和偵錯控制台。
對於具有 .ipynb 擴展名的筆記本,當您在Visual StudioCode IDE中開啟筆記本時,筆記本及其單元格會包含其他功能。 請參閱執行儲存格和在筆記本編輯器中使用程式碼儲存格。
如需具有 .py 和 .ipynb 擴展名之檔名之筆記本格式的詳細資訊,請參閱 匯入和匯出 Databricks 筆記本。
執行 Python Jupyter 筆記本儲存格
若要執行或偵錯 Python Jupyter Notebook (.ipynb):
在您的專案中,開啟您要執行或偵錯的 Python Jupyter Notebook。 請確定 Python 檔案是 Jupyter 筆記本格式,且擴展名為
.ipynb。提示
您可以在>中執行[建立:新增 Jupyter Notebook]命令,以建立新的 Python Jupyter Notebook。
單擊 [執行所有單元格] 以執行所有單元格而不偵錯,[執行單元格] 以執行個別對應的單元格而不偵錯,或 [依行執行] 以有限偵錯方式逐行執行個別單元格,並在 Jupyter 面板中顯示變數值([檢視] > [開啟檢視] > Jupyter)。
如需在個別儲存格內進行完整的偵錯,請先設定斷點,然後在儲存格 [執行] 按鈕旁邊的選單中按一下 [偵錯儲存格]。
按兩下上述任何選項之後,系統可能會提示您安裝遺漏的 Python Jupyter Notebook 套件相依性。 按一下以安裝。
如需詳細資訊,請參閱 VS Code 中的 Jupyter Notebook。
筆記本中的全域變數
下列筆記本全域變數也已啟用:
spark,代表databricks.connect.DatabricksSession實例,會預先配置為從擴充功能取得 Azure Databricks 驗證認證來實例化DatabricksSession。 如果DatabricksSession已在筆記本儲存格的程式代碼中具現化,則會改用此DatabricksSession設定。 請參閱 適用於 Python 的 Databricks Connect 程式代碼範例。udf預先設定為pyspark.sql.functions.udf的別名,而pyspark.sql.functions.udf則是 Python UDF 的別名。 請參閱 pyspark.sql.functions.udf。sql,預先設定為spark.sql的別名。spark如先前所述,表示 預先設定的databricks.connect.DatabricksSession實例。 請參閱 Spark SQL。dbutils,預先設定為 Databricks Utilities 的實例,它會從databricks-sdk匯入,並透過從延伸模組取得 Azure Databricks 驗證認證來具現化。 請參閱 使用 Databricks 公用程式。備註
只有部分 Databricks 公用程式支援用於 Databricks Connect 的筆記本。
若要啟用
dbutils.widgets,您必須先在本機開發計算機的終端機中執行下列命令,以安裝 Databricks SDK for Python:pip install 'databricks-sdk[notebook]'display,預先設定為 Jupyter 內建IPython.display.display的別名。 請參閱 IPython.display.display。displayHTML預先設定為dbruntime.display.displayHTML的別名,而dbruntime.display.displayHTML是來自ipython的 的別名。 請參閱 IPython.display.html。
筆記本魔術
也會啟用下列筆記本魔術:
%fs,與進行dbutils.fs呼叫相同。 請參閱 混合語言。%sh,它會使用本機電腦上的儲存格 magic%%script來執行命令。 這不會在遠端 Azure Databricks 工作區中執行 命令。 請參閱 混合語言。%md和%md-sandbox,它會執行儲存格 magic%%markdown。 請參閱 混合語言。%sql,它會執行spark.sql。 請參閱 混合語言。%pip,它會在本機計算機上執行pip install。 這不會在遠端 Azure Databricks 工作區中執行pip install。 請參閱 使用%pip命令管理連結庫。%run,它會執行另一個筆記本。 請參閱 管理筆記本,並且將筆記本中的程式碼模組化。
開啟的其他功能包括:
- Spark DataFrame 會轉換成 pandas DataFrame,以 Jupyter 數據表格式顯示。
限制
在 Visual Studio Code 筆記本中執行儲存格的限制包括:
- 筆記本中
%r和%scala的魔法不受支持,如果被呼叫將顯示錯誤。 請參閱 混合語言。 - 筆記本魔術
%sql不支援某些 DML 命令,例如 顯示資料表。