分享方式:


適用於 Scala 的 Databricks Connect

注意

本文涵蓋 Databricks Runtime 13.3 LTS 和更新版本適用的 Databricks Connect。

本文示範如何使用 Scala 搭配 IntelliJ IDEAScala 外掛程式,快速開始使用 Databricks Connect。

Databricks Connect 可讓您將熱門 IDE,例如 IntelliJ IDEA、Notebook 伺服器和其他自定義應用程式連線到 Azure Databricks 叢集。 請參閱 什麼是 Databricks Connect?

教學課程

若要略過本教學課程並使用不同的 IDE,請參閱 後續步驟

需求

若要完成本教學課程,您必須符合下列需求:

  • 您的目標 Azure Databricks 工作區和叢集必須符合 Databricks Connect 叢集設定的需求

  • 您必須有叢集識別碼可供使用。 若要取得叢集標識碼,請在工作區中按兩下 提要字段上的 [計算 ],然後按兩下叢集的名稱。 在網頁瀏覽器的網址列中,複製URL和之間的clustersconfiguration字元字串。

  • 您已在開發電腦上安裝 Java 開發工具套件 (JDK)。 Databricks 建議您使用的 JDK 安裝版本符合 Azure Databricks 叢集上的 JDK 版本。 下表顯示每個支援的 Databricks Runtime 的 JDK 版本。

    Databricks Runtime 版本 JDK 版本
    13.3 LTS - 15.0,
    13.3 ML LTS - 15.0 ML
    JDK 8

    注意

    如果您沒有安裝 JDK,或在開發電腦上安裝多個 JDK,您可以在步驟 1 稍後安裝或選擇特定的 JDK。 選擇叢集上 JDK 版本低於或高於 JDK 版本的 JDK 安裝可能會產生非預期的結果,或您的程式代碼可能完全無法執行。

  • 您已安裝 IntelliJ IDEA 。 本教學課程已使用 IntelliJ IDEA Community Edition 2023.3.6 進行測試。 如果您使用不同版本的 IntelliJ IDEA,下列指示可能會有所不同。

  • 您已安裝適用於 IntelliJ IDEA 的 Scala 外掛程式

步驟 1:設定 Azure Databricks 驗證

本教學課程使用 Azure Databricks OAuth 使用者對機器 (U2M) 驗證和 Azure Databricks 組態配置檔,以向 Azure Databricks 工作區進行驗證。 若要改用不同的驗證類型,請參閱 設定連線屬性

設定 OAuth U2M 驗證需要 Databricks CLI,如下所示:

  1. 如果尚未安裝,請安裝 Databricks CLI ,如下所示:

    Linux、macOS

    執行下列兩個命令,使用 Homebrew 安裝 Databricks CLI:

    brew tap databricks/tap
    brew install databricks
    

    Windows

    您可以使用 wingetChocolateyWindows 子系統 Linux 版 (WSL) 來安裝 Databricks CLI。 如果您無法使用 winget、Chocolatey 或 WSL,您應該略過此程式,並使用命令提示字元或 PowerShell 來改為從來源 安裝 Databricks CLI。

    注意

    使用 Chocolatey 安裝 Databricks CLI 是 實驗性的

    若要使用 winget 來安裝 Databricks CLI,請執行下列兩個命令,然後重新啟動命令提示字元:

    winget search databricks
    winget install Databricks.DatabricksCLI
    

    若要使用 Chocolatey 安裝 Databricks CLI,請執行下列命令:

    choco install databricks-cli
    

    若要使用 WSL 來安裝 Databricks CLI:

    1. 安裝 curlzip 透過 WSL。 如需詳細資訊,請參閱操作系統的檔。

    2. 執行下列命令,使用 WSL 安裝 Databricks CLI:

      curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
      
  2. 執行下列命令來確認已安裝 Databricks CLI,其中顯示已安裝 Databricks CLI 的目前版本。 此版本應該是 0.205.0 或更新版本:

    databricks -v
    

    注意

    如果您執行 databricks 但收到錯誤,例如 command not found: databricks,或如果您執行 databricks -v 且版本號碼為 0.18 或以下,則表示您的電腦找不到正確的 Databricks CLI 可執行檔版本。 若要修正此問題,請參閱 確認 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>
    
  2. Databricks CLI 會提示您儲存輸入為 Azure Databricks 組態設定文件的資訊。 按 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. 啟動 IntelliJ IDEA。

  2. 在主功能表上,按兩下 [ 檔案 > 新 > 專案]。

  3. 為您的專案提供一些有意義的 名稱

  4. 針對 [位置],按兩下資料夾圖示,然後完成螢幕上的指示,以指定新 Scala 項目的路徑。

  5. 針對 [ 語言],按兩下 [ Scala]。

  6. 針對 [建置系統],按兩下 [sbt]。

  7. 在 [ JDK ] 下拉式清單中,選取與叢集上 JDK 版本相符的開發計算機上現有的 JDK 安裝,或選取 [ 下載 JDK],然後依照螢幕上的指示下載符合您叢集上 JDK 版本的 JDK

    注意

    選擇叢集上或低於 JDK 版本的 JDK 安裝可能會產生非預期的結果,或您的程式代碼可能完全無法執行。

  8. sbt 下拉式列表中,選取最新版本。

  9. 在 [ Scala ] 下拉式清單中,選取符合叢集上 Scala 版本的 Scala 版本。 下表顯示每個支援的 Databricks Runtime 的 Scala 版本:

    Databricks Runtime 版本 Scala 版本
    13.3 LTS - 15.0,
    13.3 ML LTS - 15.0 ML
    2.12.15

    注意

    選擇叢集上 Scala 版本低於或高於 Scala 版本的 Scala 版本可能會產生非預期的結果,或您的程式代碼可能完全無法執行。

  10. 確定已核取 Scala 旁的 [下載來源] 方塊。

  11. 針對 [套件前置詞],輸入專案來源的一些套件前置詞值,例如 org.example.application

  12. 確定已核取 [ 新增範例程序代碼 ] 方塊。

  13. 按一下 [建立]。

建立 IntelliJ IDEA 專案

步驟 3:新增 Databricks Connect 套件

  1. 開啟新的 Scala 專案後,在專案工具視窗中(檢視>工具 Windows > 專案),在專案名稱>目標中開啟名為 build.sbt檔案。

  2. 將下列程式代碼新增至檔案結尾 build.sbt ,這會宣告專案相依於 Scala 的特定 Databricks Connect 連結庫版本:

    libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"
    

    將 取代 14.3.1 為符合叢集上 Databricks Runtime 版本的 Databricks Connect 連結庫版本。 您可以在 Maven 中央存放庫中找到 Databricks Connect 連結庫版本號碼

  3. 按兩下 [ 載入 sbt 變更 通知] 圖示,以新的連結庫位置和相依性更新 Scala 專案。

  4. 等到 sbt IDE 底部的進度指示器消失為止。 sbt載入程式可能需要幾分鐘的時間才能完成。

安裝 Databricks Connect 套件

步驟 4:新增程序代碼

  1. Project 工具視窗中,在專案名稱> src > 主要 > scala開啟名為 Main.scala的檔案。

  2. 將檔案中的任何現有程式代碼取代為下列程式代碼,然後根據組態配置檔的名稱儲存盤案。

    如果步驟 1 的組態設定檔名為 DEFAULT,請將檔案中的任何現有程式代碼取代為下列程式代碼,然後儲存盤案:

    package org.example.application
    
    import com.databricks.connect.DatabricksSession
    import org.apache.spark.sql.SparkSession
    
    object Main {
      def main(args: Array[String]): Unit = {
        val spark = DatabricksSession.builder().remote().getOrCreate()
        val df = spark.read.table("samples.nyctaxi.trips")
        df.limit(5).show()
      }
    }
    

    如果步驟 1 的組態設定檔未命名 DEFAULT為 ,請改用下列程式代碼取代 檔案中的任何現有程式代碼。 將佔位元 <profile-name> 取代為步驟 1 的組態設定檔名稱,然後儲存盤案:

    package org.example.application
    
    import com.databricks.connect.DatabricksSession
    import com.databricks.sdk.core.DatabricksConfig
    import org.apache.spark.sql.SparkSession
    
    object Main {
      def main(args: Array[String]): Unit = {
        val config = new DatabricksConfig().setProfile("<profile-name>")
        val spark = DatabricksSession.builder().sdkConfig(config).getOrCreate()
        val df = spark.read.table("samples.nyctaxi.trips")
        df.limit(5).show()
      }
    }
    

步驟 5:執行程序代碼

  1. 在遠端 Azure Databricks 工作區中啟動目標叢集。
  2. 叢集啟動之後,在主功能表上,按兩下 [ 執行 > ][主要] 。
  3. 在 [執行工具] 視窗 (檢視>工具視窗>執行) 的 [主要] 索引標籤上,數據表的前 5 個資料列samples.nyctaxi.trips隨即出現。

步驟 6:偵錯程序代碼

  1. 當目標叢集仍在執行時,在上述程式代碼中,按兩下旁 df.limit(5).show() 的裝訂線以設定斷點。
  2. 在主功能表上,按兩下 [執行 > 偵錯 'Main']。
  3. 在 [偵錯工具] 視窗 (檢視>工具視窗>偵錯) 的 [控制台] 索引標籤上,按兩下計算機 (評估表示式) 圖示。
  4. 輸入表達式 df.schema ,然後按兩下 [評估 ] 以顯示DataFrame的架構。
  5. 在 [ 錯工具] 視窗的提要字段中,按兩下綠色箭號 (繼續程式) 圖示。
  6. 在 [ 控制台] 窗格中,數據表的前 5 個數據列 samples.nyctaxi.trips 隨即出現。

偵錯 IntelliJ IDEA 專案

下一步

若要深入瞭解 Databricks Connect,請參閱下列文章: