使用Scala语言在Spark中无法定义GraphX问题求助
问题解决:Scala无法定义GraphX的原因及修复方案
核心原因
Spark GraphX在Scala 2.13版本的Spark发行包中已被移除,从Spark 3.0开始,官方不再为Scala 2.13提供GraphX支持(GraphX属于基于RDD的旧API,官方重点维护DataFrame/DataSet相关组件)。你的sbt配置使用了Scala 2.13.10 + Spark 3.3.1,这就是无法定义GraphX的根本原因。
修复步骤
- 降级Scala版本到2.12.x
修改sbt中的scalaVersion为Spark 3.3.1兼容的Scala 2.12版本,比如:scalaVersion := "2.12.17" - 修正依赖拼写错误
你的sbt配置中spark-mlLib拼写有误,应改为小写的spark-mllib:"org.apache.spark" %% "spark-mllib" % "3.3.1" - 重新加载依赖并构建项目
在终端执行sbt clean reload compile,清理旧缓存并重新拉取正确的依赖包。
修正后的完整sbt配置
name := "spark_scala" version := "0.1" scalaVersion := "2.12.17" libraryDependencies ++= Seq( "org.apache.spark" %% "spark-core" % "3.3.1", "org.apache.spark" %% "spark-graphx" % "3.3.1", "org.apache.spark" %% "spark-sql" % "3.3.1", "org.apache.spark" %% "spark-mllib" % "3.3.1", "org.squeryl" % "squeryl" % "0.9.5-2", "postgresql" % "postgresql" % "9.1-901-1.jdbc4" )
内容的提问来源于stack exchange,提问作者Wria Mohammed
相关产品推荐
相关产品推荐

