如何在 Visual Studio 代码中使用 Databricks Connect 构建 Scala 项目?

How can I build a Scala Project with Databricks Connect in Visual Studio Code?

我目前正在使用 Databricks 连接功能将我的 Visual Studio 代码连接到我的 Databricks 工作区(本地机器是 Windows)。为此,我遵循了说明 here and here。现在,我让它为 PySpark 工作。这意味着我建立了连接,我可以对我的集群执行一些 PySpark 代码:

我想用 scala 代码重复同一个小例子。但是我不知道怎么做? Databricks documentation is not exhaustive and my build.sbt fails. The build from this tutorial fails for me as well. Following the documentation 我创建了一个 build.sbt ,如下所示:

name := "scala_test"
version := "1.0"
scalaVersion := "2.12"

// this should be set to the path returned by ``databricks-connect get-jar-dir``
unmanagedBase := new java.io.File("C:/Users/user/Anaconda3/envs/databricksEnv/lib/site- 
packages/pyspark/jars")
mainClass := Some("com.example.Test")

我将构建从 documentation 调整为我的 scala 版本并调整了文件路径。但是,构建失败并出现以下错误:

2022.02.07 11:27:34 ERROR sbt command failed: C:\Program Files\Eclipse Adoptium\jdk-8.0.322.6-hotspot\jre\bin\java -Djline.terminal=jline.UnsupportedTerminal -Dsbt.log.noformat=true -Dfile.encoding=UTF-8 -jar 

请注意,我是 scala 的新手,对构建等并不完全熟悉。因此,我很难调试这个问题。这里是终端上 scala 构建的完整输出日志:

总的来说,我对 Databricks Connect 的工作原理有点困惑,但会非常高兴得到它 运行 :)

好吧,实际上这只是因为我没有在 build.sbt 中提供正确的 mainClass。也为了将来参考,真正确保您使用的是正确的 jdk 版本,因为此答案仅支持 jdk 8。 PySpark 将使用 JDK 11 进行编译,但 Scala(显然)不会。