教學課程:在傳統計算上從 PyCharm 執行程式代碼

備註

本文適用於 Databricks Runtime 13.3 LTS 及以上版本的 Databricks Connect。

Databricks Connect 讓你能將熱門的 IDE 如 PyCharm、筆記型電腦伺服器及其他自訂應用程式連接到 Azure Databricks 運算系統。 請參閱 Databricks Connect

本文示範如何使用 PyCharm 快速開始 Databricks Connect for Python。 您會在 PyCharm 中建立專案、安裝 Databricks Connect for Databricks Runtime 13.3 LTS 和更新版本,並從 PyCharm 在 Databricks 工作區中的傳統計算上執行簡單的程式代碼。

需求

您必須滿足下列需求,才能完成本教學課程:

  • 您的工作空間、本地環境與運算都符合 Databricks Connect for Python 的需求。 請參閱 Databricks Connect 使用需求
  • 您已安裝 PyCharm 。 本教學課程已使用 PyCharm Community Edition 2023.3.5 進行測試。 如果您使用不同版本的 PyCharm,下列指示可能會有所不同。
  • 如果您使用傳統計算,則需要叢集的標識碼。 若要取得集群ID,請在工作區側邊欄中點擊 計算,然後點擊您的集群名稱。 在您的網頁瀏覽器的網址列中,複製URL中clustersconfiguration之間的字元字串。

步驟 1:配置 Azure Databricks 認證

本教學使用 Azure Databricks OAuth 用戶對機器(U2M)認證 以及 Azure Databricks 配置檔來認證你的Azure Databricks工作區。 若要使用不同的驗證類型,請參閱 設定連線屬性

設定 OAuth U2M 驗證需要 Databricks CLI。 如需安裝 Databricks CLI 的相關信息,請參閱 安裝或更新 Databricks CLI

起始 OAuth U2M 驗證,如下所示:

  1. 使用 Databricks CLI 在本地端啟動 OAuth 權杖管理,針對每個目標工作區執行以下命令。

    在以下指令中,將 <workspace-url> 替換成你的 Azure Databricks 每個工作空間 URL,例如 https://adb-1234567890123456.7.azuredatabricks.net

    databricks auth login --configure-cluster --host <workspace-url>
    

    小提示

    若要搭配 Databricks Connect 使用無伺服器計算,請參閱 設定與無伺服器計算的連線

  2. Databricks CLI 會提示你將輸入的資訊儲存為 Azure Databricks configuration profile。 按 Enter 以接受建議的設定檔名稱,或輸入新或現有設定檔的名稱。 任何具有相同名稱的現有設定檔,會被您輸入的資訊覆蓋。 您可以使用個人檔案,在多個工作區之間快速切換您的驗證環境。

    若要取得任何現有設定檔的清單,請在個別的終端機或命令提示字元中,使用 Databricks CLI 來執行 databricks auth profiles 命令。 若要檢視特定設定檔的現有設定,請執行 命令 databricks auth env --profile <profile-name>

  3. 在瀏覽器中,請完成螢幕上的指示,登入你的 Azure Databricks 工作區。

  4. 在終端機或命令提示字元出現的可用叢集清單中,使用上箭頭和向下箭頭鍵選擇工作區中目標叢集Azure Databricks,然後按 Enter。 您也可以輸入叢集顯示名稱的任何部分,以篩選可用叢集的清單。

  5. 若要檢視配置檔目前的 OAuth 令牌值和令牌即將到期的時間戳,請執行下列其中一個命令:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    如果您有多個具有相同 --host 值的設定檔,您可能需要一起指定 --host-p 選項,以協助 Databricks CLI 尋找正確的相符 OAuth 權杖資訊。

步驟 2:建立專案

  1. 啟動 PyCharm。
  2. 在主選單中,點選 File > New Project
  3. New Project對話框中,點擊Pure Python
  4. 對於 Location,點擊資料夾圖示,完成螢幕上的指示,指定新 Python 專案的路徑。
  5. 保留選擇 建立 main.py 歡迎腳本
  6. 對於 Interpreter type,請點選 Project venv
  7. 展開 Python版本,並使用資料夾圖示或下拉選單指定前述需求中Python直譯器的路徑。
  8. 點擊 建立

建立 PyCharm 專案

步驟 3:新增 Databricks Connect 套件

  1. 在 PyCharm 的主選單中,點選 View > 工具視窗 > Python 套件
  2. 在搜尋方塊中,輸入 databricks-connect
  3. PyPI 倉庫 清單中,點擊 databricks-connect
  4. 在結果窗格 的最新 下拉式清單中,選取符合您叢集 Databricks Runtime 版本的版本。 例如,如果您的叢集已安裝 Databricks Runtime 14.3,請選取 14.3.1
  5. 按兩下 [ 安裝套件]。
  6. 套件安裝完成後,你可以關閉 Python Packages 視窗。

安裝 Databricks Connect 套件

步驟 4:新增程序代碼

  1. Project 工具視窗中,右鍵點擊 project 的根目錄,然後點選 New > Python 檔案

  2. 輸入 main.py,並雙擊 Python 檔案

  3. 在檔案中輸入下列程式代碼,然後視您的設定檔名稱儲存檔案。

    如果步驟 1 的組態設定檔名為 DEFAULT,請在檔案中輸入下列程式碼,然後儲存檔案:

    from databricks.connect import DatabricksSession
    
    spark = DatabricksSession.builder.getOrCreate()
    
    df = spark.read.table("samples.nyctaxi.trips")
    df.show(5)
    

    如果步驟 1 的組態設定檔未命名 DEFAULT,請改為在檔案中輸入下列程序代碼。 將佔位符 <profile-name> 替換為步驟 1 的設定檔名稱,然後儲存檔案:

    from databricks.connect import DatabricksSession
    
    spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate()
    
    df = spark.read.table("samples.nyctaxi.trips")
    df.show(5)
    

步驟 5:執行程序代碼

  1. 在遠端的 Azure Databricks 工作區啟動目標叢集。
  2. 叢集啟動之後,在主功能表上,按兩下 [ 執行 > 執行'main']。
  3. Run 工具視窗(View > 工具 Windows > 執行)的 Run 分頁的主要面板中,顯示了 的前五列。

步驟 6:偵錯程序代碼

  1. 當群集仍在運行時,在前面代碼中,點擊 df.show(5) 旁的區域來設置斷點。
  2. 在主選單上,按一下 執行 > 偵錯 'main'
  3. Debug 工具視圖(View > 工具視窗 > Debug),在 Debugger 分頁的 Variables 窗格中,展開瀏覽 dfspark 變數節點,以瀏覽程式碼 dfspark 變數的資訊。
  4. 偵錯工具視窗的側欄,按一下綠色箭頭(繼續程式)圖示。
  5. [調試程式] 標籤的 [控制台] 窗格中,出現 samples.nyctaxi.trips 的前 5 行。

偵錯 PyCharm 專案