flink在flink应用程序的飞行前阶段执行重要扫描(https://ci.apache.org/projects/flink/flink-docs-stable/dev/types_serialization.html). 创建源、操作符和接收器的行为会导致flink扫描给定流式流拓扑中使用的对象的数据类型,因为flink显然会尝试基于此信息优化作业。
这个扫描可配置吗?我能不能关掉它,强迫flink只使用kryo序列化,而不需要或使用任何扫描信息?
我在一个私有库中有一个非常大的、嵌套很深的类,这个类是自动生成的,flink在扫描它时似乎进入了一个非常大的无休止的循环,在运行几个小时后导致内存不足错误(应用程序从来没有通过 env.execute()
,即使堆大小显著增大)。类有许多循环引用,即类及其子类包含对相同类型的其他类的引用,这可能是个问题吗?
1条答案
按热度按时间wnrlj8wa1#
你可以试试
其中serializer是自定义序列化程序。
你可以通过
请参阅pojo类型的序列化以了解更多信息。