共用方式為


搭配適用於 Scala 的 Databricks 連線 使用 IntelliJ IDEA

注意

本文涵蓋 Databricks 連線 Databricks Runtime 13.3 LTS 和更新版本。

本文說明如何搭配 Scala 外掛程式使用 Databricks 連線 for Scala 和 IntelliJ IDEA。 Databricks 連線 可讓您將熱門的 IDE、Notebook 伺服器和其他自定義應用程式連線到 Azure Databricks 叢集。 請參閱什麼是 Databricks 連線?

注意

開始使用 Databricks 連線 之前,您必須先設定 Databricks 連線 用戶端

若要搭配 Scala 外掛程式使用 Databricks 連線 和 IntelliJ IDEA 來建立、執行和偵錯範例 Scala sbt 專案,請遵循這些指示。 這些指示已使用 IntelliJ IDEA Community Edition 2023.3.6 進行測試。 如果您使用不同版本的 IntelliJ IDEA,下列指示可能會有所不同。

  1. 請確定已在本機安裝 Java 開發工具套件 (JDK)。 Databricks 建議本機 JDK 版本符合 Azure Databricks 叢集上的 JDK 版本。

  2. 啟動 IntelliJ IDEA。

  3. 按兩下 [ 檔案 > 新 > 專案]。

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

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

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

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

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

    注意

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

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

  10. 在 [ Scala ] 下拉式清單中,選取符合叢集上 Scala 版本的 Scala 版本。

    注意

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

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

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

  13. 按一下 [建立]

  14. 新增 Databricks 連線 套件:開啟新的 Scala 專案時,在專案工具視窗中開啟 [檢視>工具 Windows > 專案],在專案名稱>目標中開啟名為 build.sbt檔案。

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

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

    將 取代14.3.1為與叢集上 Databricks 運行時間版本相符的 Databricks 連線 連結庫版本。 您可以在 Maven 中央存放庫中找到 Databricks 連線 連結庫版本號碼

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

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

  18. 新增程序代碼:在您的 Project 工具視窗中,在專案名稱> src > 主要 > scala 中開啟名為 Main.scala檔案。

  19. 以下列程式代碼取代 檔案中的任何現有程式代碼,然後儲存盤案:

    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()
      }
    }
    
  20. 執行程式代碼:在遠端 Azure Databricks 工作區中啟動目標叢集。

  21. 叢集啟動之後,在主功能表上,按兩下 [ 執行 > ][主要] 。

  22. 在 [ 執行 工具] 視窗 (檢視 > 工具視窗 > 執行), 在 [主要 ] 索引標籤中 samples.nyctaxi.trips ,數據表的前 5 個數據列隨即出現。 所有 Scala 程式代碼都會在本機執行,而涉及 DataFrame 作業的所有 Scala 程式代碼都會在遠端 Azure Databricks 工作區的叢集上執行,並執行回應會傳回給本機呼叫端。

  23. 偵錯程式代碼:如果遠端 Azure Databricks 工作區尚未執行,請啟動目標叢集。

  24. 在上述程式代碼中,按兩下旁 df.limit(5).show() 的裝訂線以設定斷點。

  25. 叢集啟動之後,在主功能表上,按兩下 [執行 > 偵錯 'Main']。

  26. 在 [偵錯工具] 視窗 (檢視>工具視窗>偵錯)的 [控制台] 索引標籤中,按兩下計算機 (評估表示式) 圖示。

  27. 輸入表達式 df.schema ,然後按兩下 [評估 ] 以顯示DataFrame的架構。

  28. 在 [ 錯工具] 視窗的提要字段中,按兩下綠色箭號 (繼續程式) 圖示。

  29. 在 [ 控制台] 窗格中,數據表的前 5 個數據列 samples.nyctaxi.trips 隨即出現。 所有 Scala 程式代碼都會在本機執行,而涉及 DataFrame 作業的所有 Scala 程式代碼都會在遠端 Azure Databricks 工作區的叢集上執行,並執行回應會傳回給本機呼叫端。