Spark Scala Error: java.lang.NoSuchMethodError: scala.collection.mutable.Buffer$.empty()Lscalacollec

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark Scala Error: java.lang.NoSuchMethodError: scala.collection.mutable.Buffer$.empty()Lscalacollec相关的知识,希望对你有一定的参考价值。

我在使用Intellij Scala读取CSV文件时遇到了以下问题。

错误信息。

Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.mutable.Buffer$.empty()Lscala/collection/GenTraversable;
    at org.apache.spark.sql.SparkSessionExtensions.<init>(SparkSessionExtensions.scala:72)
    at org.apache.spark.sql.SparkSession$Builder.<init>(SparkSession.scala:780)
    at org.apache.spark.sql.SparkSession$.builder

源代码:Pom.xml

import org.apache.spark.sql.SparkSession
object broadcastright {

   def main(args : Array[String]): Unit = {
     val spark = SparkSession
       .builder()
       .master("local")
       .appName("Read CSV File")
       .getOrCreate()

     val df = spark.read
       .option("header", "true")
       .option("delimiter", ",")
       .option("inferSchema", "false")
       .load("src\main\resources\people.csv")

     df.show()
   }
  }

Pom.xml

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.12</artifactId>
    <version>2.4.5</version>
</dependency>

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.12</artifactId>
    <version>2.4.0</version>
</dependency>

我不知道这个问题的原因是什么。

答案

如果spark库有任何版本差异,我们会遇到很多问题,因为一些方法可能在新版本中不可用,或者一些新方法可能在低版本的spark中不可用。

请在maven文件中添加相同版本的spark库。另外,pom.xml中的scala版本和classpath中的scala版本也应该一致。

以上是关于Spark Scala Error: java.lang.NoSuchMethodError: scala.collection.mutable.Buffer$.empty()Lscalacollec的主要内容,如果未能解决你的问题,请参考以下文章

运行spark-shell查看版本报错[init] error: error while Loading object, Missing dependency‘ object scala in

如果其他,Spark scala udf 错误

如何在 Spark/Scala 中使用 countDistinct?

如何在 EMR 上使用 Spark 3 为 Scala 对象解决“加载类失败”

从 HDFS 加载数据 -Spark Scala [重复]

SparkSession使用[error]日志记录到控制台