共用方式為


使用適用於 Visual Studio Code 的 Databricks 擴充功能,透過 Databricks Connect 執行和偵錯筆記本單元格。

您可以使用適用於 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 noteboook 單元格

若要執行或偵錯 Python Jupyter Notebook (.ipynb):

  1. 在您的專案中,開啟您要執行或偵錯的 Python Jupyter Notebook。 請確定 Python 檔案是 Jupyter 筆記本格式,且擴展名為 .ipynb

    提示

    您可以在命令選擇區中執行>[建立:新增 Jupyter Notebook]命令,以建立新的 Python Jupyter Notebook。

  2. 單擊 [執行所有單元格] 以執行所有單元格而不偵錯,[執行單元格] 以執行個別對應的單元格而不偵錯,或 [依行執行] 以有限偵錯方式逐行執行個別單元格,並在 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 是來自 ipythondisplay.HTML 的別名。 請參閱 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,它會執行另一個筆記本。 請參閱 管理筆記本,並且將筆記本中的程式碼模組化

    注意

    若要啟用 %run,您必須先在本機開發電腦的終端機中執行下列命令,以安裝 nbformat 連結庫:

    pip install nbformat
    

開啟的其他功能包括:

  • Spark DataFrame 會轉換成 pandas DataFrame,以 Jupyter 數據表格式顯示。

限制

在 Visual Studio Code 筆記本中執行儲存格的限制包括:

  • 筆記本中%r%scala的魔法不受支持,如果被呼叫將顯示錯誤。 請參閱 混合語言
  • 筆記本魔術 %sql 不支援某些 DML 命令,例如 顯示資料表