【发布时间】:2019-07-14 18:20:24
【问题描述】:
我是新的 scala 和 SBT 构建文件。从介绍性教程中,将 spark 依赖项添加到 scala 项目应该是通过 sbt-spark-package 插件直接进行的,但我收到以下错误:
[error] (run-main-0) java.lang.NoClassDefFoundError: org/apache/spark/SparkContext
请提供资源以详细了解可能导致错误的原因,因为我想更彻底地了解流程。
代码:
trait SparkSessionWrapper {
lazy val spark: SparkSession = {
SparkSession
.builder()
.master("local")
.appName("spark citation graph")
.getOrCreate()
}
val sc = spark.sparkContext
}
import org.apache.spark.graphx.GraphLoader
object Test extends SparkSessionWrapper {
def main(args: Array[String]) {
println("Testing, testing, testing, testing...")
var filePath = "Desktop/citations.txt"
val citeGraph = GraphLoader.edgeListFile(sc, filepath)
println(citeGraph.vertices.take(1))
}
}
plugins.sbt
resolvers += "bintray-spark-packages" at "https://dl.bintray.com/spark-packages/maven/"
addSbtPlugin("org.spark-packages" % "sbt-spark-package" % "0.2.6")
build.sbt -- 工作中。为什么 libraryDependencies 运行/工作?
spName := "yewno/citation_graph"
version := "0.1"
scalaVersion := "2.11.12"
sparkVersion := "2.2.0"
sparkComponents ++= Seq("core", "sql", "graphx")
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "2.2.0",
"org.apache.spark" %% "spark-sql" % "2.2.0",
"org.apache.spark" %% "spark-graphx" % "2.2.0"
)
build.sbt -- 不工作。希望它能够正确编译和运行
spName := "yewno/citation_graph"
version := "0.1"
scalaVersion := "2.11.12"
sparkVersion := "2.2.0"
sparkComponents ++= Seq("core", "sql", "graphx")
解释奖励 + 资源链接,以了解有关 SBT 构建过程、jar 文件以及任何其他可以帮助我加快速度的信息!
【问题讨论】:
标签: scala apache-spark sbt spark-graphx sbt-plugin