使用Scala在Spark中创建DataFrame时出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Scala在Spark中创建DataFrame时出错相关的知识,希望对你有一定的参考价值。

登录以下:请帮助我解决此问题

线程“主”中的异常java.lang.NoSuchMethodError:'scala.collection.GenTraversable scala.collection.mutable.Buffer $ .empty()'

at org.apache.spark.sql.SparkSessionExtensions.<init>(SparkSessionExtensions.scala:100)
at org.apache.spark.sql.SparkSession$Builder.<init>(SparkSession.scala:741)
at org.apache.spark.sql.SparkSession$.builder(SparkSession.scala:928)
at Dataframes.DataframeBasics$.delayedEndpoint$Dataframes$DataframeBasics$1(DataframeBasics.scala:13)
at Dataframes.DataframeBasics$delayedInit$body.apply(DataframeBasics.scala:5)
at scala.Function0.apply$mcV$sp(Function0.scala:39)
at scala.Function0.apply$mcV$sp$(Function0.scala:39)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:17)
at scala.App.$anonfun$main$1(App.scala:73)
at scala.App.$anonfun$main$1$adapted(App.scala:73)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:553)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:551)
at scala.collection.AbstractIterable.foreach(Iterable.scala:921)
at scala.App.main(App.scala:73)
at scala.App.main$(App.scala:71)
at Dataframes.DataframeBasics$.main(DataframeBasics.scala:5)
at Dataframes.DataframeBasics.main(DataframeBasics.scala)
答案

使用与编译Spark jar相同的Scala版本

例如如果您使用的是Scala 2.11.0,则最好使用spark-core_2.112.4.2等

还要检查您的Spark,Hadoop和AWS jar版本兼容性,这有点棘手。

  • 火花2.4.x
  • Hadoop 2.6.5
  • AWS Java SDK任何版本

以上是关于使用Scala在Spark中创建DataFrame时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用 Zeppelin 将 Spark DataFrame 从 Python 迁移到 Scala

如何在 Databricks 的 PySpark 中使用在 Scala 中创建的 DataFrame

如何在 Spark 中使用 Python 查找 DataFrame 中的分区数以及如何在 Spark 中使用 Python 在 DataFrame 中创建分区

关于在 Spark Scala 中创建用户定义函数 (UDF)

使用具有常量值的 var 在 Spark DataFrame 中创建一个新列

Spark中创建DataFrame方法总结