java.lang.classcastException:无法分配scala.collection.immutable.


  1. 我从Spring Batch Java应用程序中处理CSV文件以激发清洁。
  2. 清洁的文件写入群集的parquet。
  3. 获得序列化例外。

引起的是:java.lang.classcastException:无法分配scala.collection.immutable.immutable.list $ serializationproxy的实例to field org.apache.spark.rdd.rdd.rdd.rdd.org $ apache $ apache $ apache $类型scala.collection.seq以org.apache.spark.rdd.mappartitionsrdd的 at Java.io.io.ObjectStreamClass $ FIELDREFLECTOR.SETOBJFIELDVALUES(ObjectStreamClass.java:2287(

我在运行此代码时具有相同的错误消息:

import org.apache.spark.ml.feature.{CountVectorizer, CountVectorizerModel}
import org.apache.spark.ml.clustering.LDA
import org.apache.spark.sql.functions.udf
import scala.collection.mutable.WrappedArray
val txt = Array("A B B C", "A B D D", "A C D")
val txtDf     = spark.sparkContext.parallelize(txt).toDF("txt")
val txtDfSplit = txtDf.withColumn("txt", split(col("txt"), " "))
// val txtDfSplit = df.withColumn("txt", split(col("txt"), " "))
// create sparse vector with the number 
// of occurrences of each word using CountVectorizer
val cvModel = new CountVectorizer().setInputCol("txt").setOutputCol("features").setVocabSize(4).setMinDF(2).fit(txtDfSplit)
val txtDfTrain = cvModel.transform(txtDfSplit)
txtDfTrain.show(false)

产生此错误:

org.apache.spark.sparkexception:由于阶段失败而流产的工作: 第1.0阶段的任务9失败了4次,最新失败:丢失任务9.3 在第1.0阶段(TID 25,somehostname.domain,executor 1(: Java.lang.ClassCastException:无法分配 scala.collection.immutable.list $ serialization -proxy到字段 org.apache.spark.rdd.rdd.org $ apache $ spark $ rdd $ rdd $$ dependencies_ of 类型scala.collection.seq以 org.apache.spark.rdd.mappartitionsrdd

我一直在查看描述此错误的各个页面,这似乎是某种版本冲突。该代码在Intellij(单独独立(中起作用。当应用提交给Spark时,我会遇到错误。

最新更新