我遇到了与Flink java.util.List 和 java.util.Map 序列化所描述的相同问题,但是对于
java.util.Set
。
我有一个 POJO 类,其中包含
List
字段和 Set
字段。我已经能够按照上面链接中的解决方案来 POJO 序列化 List
字段,但 TypeInfo 库中似乎不支持 Set
:https://github.com/apache/ flink/blob/master/flink-core/src/main/java/org/apache/flink/api/common/typeinfo/Types.java#L438
我想知道这是否是一个已知问题,即将推出的 Flink 版本(我使用的是 16.1.1)中是否有解决方案,或者是否有人知道解决方法。
同时,我只 POJO 序列化 List 和基本字段是可以的,但我想注册我的 Set 字段用于 POJO 序列化,而且它是一个重字段。我还想在生产中启用
env.getConfig().disableGenericTypes();
,但有 Set
字段会阻止这种情况。
您可以为 Set 创建自定义 TypeInfo。您可以将其基于 ListTypeInfo: