首页 > 解决方案 > build.spark:添加火花依赖

问题描述

我试图在 build.sbt 文件中下载 spark-core 和 spark-sql:

name := "spark Test App"
version := "0.1"
organization := "sura.organization"
scalaVersion :=  "2.11.8"
val sparkVersion := "2.3.1"

libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % sparkVersion,
"org.apache.spark" %% "spark-sql" % sparkVersion)

当我运行 sbt 包时,我收到一个错误

/build.sbt]:7: '=' 预期。

我找不到错误,请帮助我。

标签: scalaapache-sparksbt

解决方案


问题出在这一行

val sparkVersion := "2.3.1"

它应该是

val sparkVersion = "2.3.1"

此外,您应该将这些依赖项标记为已提供,因为您只需要它们进行编译和本地执行(例如测试)。但在生产环境中,您会将 jar 部署到 Spark 集群,该集群(显然)已经包含它们。

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % sparkVersion % Provided,
  "org.apache.spark" %% "spark-sql" % sparkVersion % Provided
)

PS:确保您使用与部署集群相同的 Spark 和 Scala 版本。

顺便说一句,如果您需要包含其他依赖项(例如 Mongo Spark 连接器),您应该查看sbt-assembly,但请注意您需要从程序集 jar 中排除 Scala 标准库。


推荐阅读