You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark Session初始化报错:NoSuchMethodError问题排查求助

问题:IntelliJ中初始化Spark Session抛出NoSuchMethodError错误

错误信息

Exception in thread "main" java.lang.NoSuchMethodError: 'void org.apache.spark.internal.Logging.$init$(org.apache.spark.internal.Logging)'
at org.apache.spark.sql.SparkSession$.(SparkSession.scala:787)
at org.apache.spark.sql.SparkSession$.(SparkSession.scala)

执行代码

val conf = new SparkConf().setMaster("local[*]").setAppName("MTBD")

val spark = SparkSession
    .builder()
    .appName("MTBD")
    .config(conf)
    .getOrCreate()

环境信息

scala -version
Scala code runner version 2.11.12

spark version 3.2.2

build.sbt配置:

ThisBuild / version := "0.1.0-SNAPSHOT"

ThisBuild / scalaVersion := "2.11.12"

lazy val root = (project in file("."))
  .settings(
    name := "provaMTBD"
  )

libraryDependencies ++= Seq( "org.apache.spark" % "spark-core_2.11" % "2.1.0")

补充信息

在spark-shell中执行相同代码无报错,输出如下:

val  spark =  SparkSession.builder().appName("MTBD").config(conf).getOrCreate()
22/10/15 01:14:25 WARN SparkSession$Builder: Using an existing SparkSession; some spark core configurations may not take effect.
spark: org.apache.spark.sql.SparkSession = org.apache.spark.sql.SparkSession@5fbcc71d

原因分析

核心问题是Spark版本不兼容:

  • 本地环境的Spark版本是3.2.2,但build.sbt中引入的spark-core依赖版本是2.1.0,两个版本差异过大,导致org.apache.spark.internal.Logging类的初始化方法签名不匹配,触发NoSuchMethodError。
  • spark-shell默认使用本地安装的3.2.2版本环境,依赖一致所以正常运行;而IntelliJ项目使用sbt管理的2.1.0版本依赖,与本地Spark环境冲突。

解决方法

  1. 统一Spark依赖版本:修改build.sbt,将spark-core版本改为3.2.2,同时添加spark-sql依赖(SparkSession属于spark-sql模块,原配置缺失该依赖)。修改后的build.sbt如下:
ThisBuild / version := "0.1.0-SNAPSHOT"

ThisBuild / scalaVersion := "2.11.12"

lazy val root = (project in file("."))
  .settings(
    name := "provaMTBD"
  )

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % "3.2.2",
  "org.apache.spark" %% "spark-sql" % "3.2.2"
)
  1. 刷新sbt依赖:在IntelliJ中点击sbt面板的"Refresh all sbt projects"按钮,重新下载匹配版本的依赖。
  2. 重启项目并重新编译运行:确保旧依赖被清理,新依赖生效后再执行代码。

内容的提问来源于stack exchange,提问作者mikeman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 20:35:37