问题
Spark Streaming 执行报错
java.io.NotSerializableException: org.apache.kafka.clients.consumer.ConsumerRecord
原因
ConsumerRecord 没有实现序列化,在执行需要序列化的操作时,即 persist 或 window、print。会报错:
解决
- 推荐:在使用 persist 或 window 之前,使用 map 将 ConsumerRecord 转换为可序列化的对象。
- 添加配置:
conf.set("spark.serializer","org.apache.spark.serializer.KryoSerialize")
conf.registerKryoClasses(util.Arrays.asList(classOf[ConsumerRecord[_, _]]).toArray.asInstanceOf[Array[Class[_]]])
本文解决SparkStreaming处理Kafka消息时遇到的java.io.NotSerializableException错误,介绍ConsumerRecord未实现序列化的问题及解决方案,推荐使用map转换记录,并提供Kryo序列化配置示例。
4674

被折叠的 条评论
为什么被折叠?



