当前位置: 首页 > 知识库问答 >
问题:

Spark序列化程序Kryo setRegistrationRequired(假)

梁昊天
2023-03-14

我在Scala/Spark程序中使用weka.mi.misvm,需要序列化内核以便以后重用它们。

为此,我使用kryo:

conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
conf.registerKryoClasses(
    Array(classOf[Multiset], classOf[MISVM], classOf[(_,_)],
     classOf[Map[_,_]], classOf[Array[_]])
)

...

val patterns: RDD[(Multiset, MISVM)] = ...
patterns.saveAsObjectFile(options.get.out)
com.esotericsoftware.kryo.KryoException: Encountered unregistered class ID: 13994

如何定义confKryoserializer必须使用SetRegistrationRequired(false)

共有1个答案

杜君浩
2023-03-14

试试这个:

conf.set("spark.serializer", org.apache.spark.serializer.KryoSerializer")
conf.set("spark.kryo.registrationRequired", "false")
 类似资料:
  • 在Spark中,如何知道哪些对象在driver上实例化,哪些对象在executor上实例化,因此如何确定哪些类需要实现Serializable?

  • 我有一个类,它通过实现中的和方法来实现自定义Kryo序列化程序(请参见下面的示例)。如何用Spark注册此自定义序列化程序? 现在在Spark: 不幸的是,Spark没有给我注册自定义序列化程序的选项。你知道有没有办法做到这一点?

  • 我使用的是JAVA 1.6和Jackson 1.9.9我有一个枚举 我添加了一个@jsonValue,这似乎完成了它将对象序列化为:

  • 这个示例直接取自Spark示例代码,所以我不太清楚到底发生了什么。 我在localhost上运行的Spark独立集群上运行这个。 工人始终失败: 我运行的是Java 11,使用的是Spark 3.0.1。 我确实发现了一个非常相似的问题,看起来它就是答案:java。lang.ClassCastException在远程服务器上的spark作业中使用lambda表达式 然而,在确保将TestSpark

  • 当我尝试访问广播变量时,我会收到这个异常: 2006年3月17日03:04:23警告TaskSetManager:在第3.0阶段(TID 10,192.168.56.5,executor 1)中丢失任务0.0:java。io。IOException:java。lang.UnsupportedOperationException位于组织。阿帕奇。火花util。Utils美元。组织上的tryOrIOE

  • 有没有一种方法让我忽略这些异常并在消费者处移动偏移量?我想,因为我使用手动偏移提交,我有这个问题。有人知道如何配置kafka-avro-serializer-6.0.0.jar来完成我想要的任务吗? 多谢了。