Flink中使用Kryo序列化器的注意事项

本文探讨了在Flink环境中使用Kryo序列化时遇到的ClassNotFound问题,并提供了具体的解决方案,包括设置正确的类加载器及调整Flink配置。

你以为我要说的是在Flink中使用Kryo序列化吗?不是的,还记得上一篇关于Kryo序列化的问题的文章:Kryo序列化:Class Not Found的可能原因.

里面介绍了因为在Spark环境下由于类加载器原因导致Kryo反序列化时找不到类的问题。

没错,还有续集。这次是在Flink下,也出现了同样的问题。

问题复现

见如下代码,是Flink提交给YARN的主函数类,里面反序列化一个 StreamParam的参数类。这个类就在提交的jar包里。
(KryoSerializer是我们自己封装了下Kryo,里面还是Kryo实例。)

object MyFlinkDriver {
   
   

  def main(args: Array[String]): Unit = {
   
   
    Assert.paramMiss(args.length > 0, "StreamParam JsonString")

    val param = KryoSerializer.deserialize(
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值