将 Visual Studio Code 与适用于 Scala 的 Databricks Connect 配合使用
注意
本文介绍适用于 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect。
本文介绍如何将适用于 Scala 的 Databricks Connect 与 Visual Studio Code 配合使用。 Databricks Connect 使你能够将常用 IDE、笔记本服务器和其他自定义应用程序连接到 Azure Databricks 群集。 请参阅什么是 Databricks Partner Connect?。 有关本文的 Python 版本,请参阅将 Visual Studio Code 与适用于 Python 的 Databricks Connect 配合使用。
注意
在开始使用 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 项目的文件夹(文件 > 打开文件夹)。
在边栏上,单击 Metals 扩展图标,然后单击“新建 Scala 项目”。
在命令面板中选择名为 scala/hello-world.g8 的模板,并按屏幕上的说明在指定文件夹中完成 Scala 项目的创建。
添加项目生成设置:在“资源管理器”视图中(“视图”>“资源管理器”),从项目的根目录中打开
build.sbt
文件,将文件的内容替换为以下内容,并保存该文件:scalaVersion := "2.12.15" libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
将
2.12.15
替换为已安装的 Scala 版本,该版本应与群集上 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: Import build。
添加项目运行设置:在“运行和调试”视图中(“查看 > 运行”),单击标记为“创建 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: Run main class 旁边的播放(“开始调试”)图标。 在“调试控制台”视图(“视图”>“调试控制台”)中,将显示
samples.nyctaxi.trips
表的前 5 行。 所有 Scala 代码都在本地运行,而涉及 DataFrame 操作的 Scala 代码在远程 Azure Databricks 工作区中的群集上运行,运行响应发送回给本地调用方。调试该项目:在代码中设置断点,然后再次单击播放图标。 所有 Scala 代码均在本地调试,而所有 Scala 代码则继续在远程 Azure Databricks 工作区中的群集上运行。 无法直接从客户端对核心 Spark 引擎代码进行调试。