分享方式:


使用適用於 Visual Studio Code 的 Databricks 擴充功能,使用 Databricks Connect 執行筆記本數據格並進行偵錯

您可以使用適用於 Visual Studio Code Databricks Connect 整合的 Databricks 擴充功能,在 Visual Studio Code UI 中執行和偵錯筆記本、一次一個數據格或所有單元格,並在 Visual Studio Code UI 中查看其結果。 所有程式代碼都會在本機執行,而涉及 DataFrame 作業的所有程式代碼都會在遠端 Azure Databricks 工作區的叢集上執行,並執行回應會傳回給本機呼叫端。 所有程式代碼都會在本機偵錯,而所有Spark程式代碼都會繼續在遠端 Azure Databricks 工作區中的叢集上執行。 核心 Spark 引擎程式代碼無法直接從客戶端進行偵錯。

注意

此功能適用於 Databricks Runtime 13.3 和更新版本。

若要在適用於 Visual Studio Code 的 Databricks 擴充功能中啟用筆記本的 Databricks Connect 整合,您必須在適用於 Visual Studio Code 的 Databricks 擴充功能中安裝 Databricks Connect。 如需 Visual Studio Code 的 Databricks 擴充功能,請參閱 使用 Databricks Connect 偵錯程式代碼

執行 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別名,這是 Python UDF 的別名。 請參閱 pyspark.sql.functions.udf

  • sql,預先設定為 的 spark.sql別名。 spark如先前所述,表示 預先設定的 databricks.connect.DatabricksSession實例。 請參閱 Spark SQL

  • dbutils,預先設定為 Databricks 公用程式的實例,這是從 中 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別名,這是 來自 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,它會執行另一個筆記本。 請參閱 從另一個筆記本執行 Databricks 筆記本

    注意

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

    pip install nbformat
    

開啟的其他功能包括:

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

限制

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

  • 筆記本魔%r%scala術和 不受支援,並在呼叫時顯示錯誤。 請參閱 混合語言
  • Notebook magic %sql 不支援某些 DML 命令,例如 顯示資料表