使用 Visual Studio Code 搭配 Databricks Connect for Scala
注意
本文涵蓋適用於 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect。
本文涵蓋如何使用 Databricks Connect for Scala 搭配 Visual Studio Code。 Databricks Connect 可讓您將熱門 IDE、Notebook 伺服器和其他自定義應用程式連線到 Azure Databricks 叢集。 請參閱 什麼是 Databricks Connect?。 如需此文章的 Python 版本,請參閱 使用 Visual Studio Code 搭配 Databricks Connect 的 Python 指南。
注意
開始使用 Databricks Connect 之前,您必須先 設定 Databricks Connect 用戶端。
若要使用 Databricks Connect 和 Visual Studio Code 搭配 Scala (Metals) 延伸模組來建立、執行及偵錯範例 Scala sbt
專案,請遵循這些指示。 您也可以將此範例調整為現有的 Scala 專案。
請確定已在本機安裝 Java 開發工具套件 (JDK) 和 Scala。 Databricks 建議本機 JDK 和 Scala 版本符合 Azure Databricks 叢集上的 JDK 和 Scala 版本。
請確定本機已安裝最新版本的
sbt
。安裝適用於 Visual Studio Code 的 Scala (Metals) 延伸模組。
在 Visual Studio Code 中,開啟您要建立 Scala 專案的資料夾([檔案] > [開啟資料夾]]。
在側邊欄上,按一下 金屬 擴充圖示,然後按一下 新增 Scala 專案。
在命令選擇區中,選擇名為 scala/hello-world.g8的範本,然後完成螢幕上的指示,以完成在指定的資料夾中建立 Scala 專案。
新增專案建置設定:在 [總管] 檢視中([檢視 > 總管] 中,從專案的根目錄開啟
build.sbt
檔案,將檔案的內容取代為下列內容,然後儲存盤案:scalaVersion := "2.12.15" libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
以已安裝的 Scala 版本取代
2.12.15
,這應該符合叢集上 Databricks Runtime 版本隨附的版本。將
14.0.0
取代為與叢集上 Databricks Runtime 版本相符的 Databricks Connect 連結庫版本。 您可以在 Maven 中央存放庫中找到 Databricks Connect 連結庫版本號碼。新增 Scala 程式代碼:開啟相對於專案根目錄的
src/main/scala/Main.scala
檔案,將檔案的內容取代為下列內容,然後儲存檔案。import com.databricks.connect.DatabricksSession import org.apache.spark.sql.SparkSession object Main extends App { val spark = DatabricksSession.builder().remote().getOrCreate() val df = spark.read.table("samples.nyctaxi.trips") df.limit(5).show() }
建置專案:執行命令 >Metals:從命令面板匯入建置。
新增專案執行設定:在 [執行 & 偵錯 檢視] 檢視中(檢視 > 執行),點擊標示為 建立 launch.json 檔案的連結。
在 [命令選擇區]中,選取 [Scala 調試程式]。
將下列執行組態新增至
launch.json
檔案,然後儲存檔案:{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "scala", "request": "launch", "name": "Scala: Run main class", "mainClass": "Main", "args": [], "jvmOptions": [] } ] }
執行項目:按下 [開始偵錯] 圖示旁的 [Scala:執行主類別。 在 [偵錯控制台] 檢視中,[檢視] > [偵錯控制台]),
samples.nyctaxi.trips
數據表的前 5 個數據列隨即出現。 所有 Scala 程式代碼都會在本機執行,而涉及 DataFrame 作業的所有 Scala 程式代碼都會在遠端 Azure Databricks 工作區的叢集上執行,並執行回應會傳回給本機呼叫端。偵錯專案:在您的程式碼中設定斷點,然後再次按執行圖示。 所有 Scala 程式代碼都會在本機進行偵錯,而所有 Scala 程式代碼都會繼續在遠端 Azure Databricks 工作區中的叢集上執行。 核心 Spark 引擎程式代碼無法直接從客戶端進行偵錯。