Flink java.util.Set 序列化

问题描述 投票:0回答:1

我遇到了与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
字段会阻止这种情况。

java apache-flink flink-streaming
1个回答
0
投票

您可以为 Set 创建自定义 TypeInfo。您可以将其基于 ListTypeInfo:

https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/api/java/typeutils/ListTypeInfo.java

© www.soinside.com 2019 - 2024. All rights reserved.