使用registertypewithkryoserializer的flink自定义序列化

yebdmbv4  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(558)

我想建议一个快速可能的改进,你可以做的文件在线wrt序列化。事实上,您在实现和文档方面都做得非常出色。flink自动理解如何最好地序列化对象的方法非常聪明和强大。
在开发一个将利用flink的实时分析项目时,我遇到了一个问题,这个问题更多地与缺少doc有关,而不是与flink有关。我想在这里建议修改一下,因为这样可以在将来省下几个小时对别人的绝望:)
我有几个类需要自定义序列化程序。我创建了kryo序列化程序,还使用registertypewithkryoserializer插入了这些序列化程序。在当前文档中不清楚的是,由于其中一些是pojo,flink更喜欢它,而不是使用kryo序列化程序的generictype。一旦我明白了,经过几个小时的深入调试,我只是确定那些不再是pojo,然后突然我的序列化程序被使用。因此,在一方面,您可以考虑总是更喜欢自定义序列化程序而不是pojo。但在很短的时间内,我建议修改文件。
让我知道你的想法,并祝贺这一惊人的工作。在以前的项目中,我们确实使用了storm或spark流媒体,但flink在实时流媒体分析方面遥遥领先。
谢谢,继续努力!

vuktfyat

vuktfyat1#

因此,当前的快速解决方法是确保您的对象不是pojo。在另一种情况下,它们不是通过使用kryo并查看自定义序列化程序的generictype序列化的。
当您遇到此类问题时,非常有用的调试方法是:env.getconfig().disablegenerictypes();
它允许停止任务启动,但允许检查使用了哪种序列化程序和hinttype。

相关问题