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