我的 Flink 1.15 应用程序的日志中有“java.time.Duration”和“java.util.HashMap”的提示:
Class class <*> cannot be used as a POJO type because not all fields are valid POJO fields, and must be processed as GenericType. Please read the Flink documentation on "Data Types & Serialization" for details of the effect on performance.
Duration 和 HashMap 有 Flink 兼容类吗?
Hashmap 应该通过 Flink 原生的内置序列化过程来支持,因为它们是一些更常用的数据结构。另一方面,持续时间不会落在同一个保护伞下,可能需要对其中一个进行一些修改:
另一个常见的失误是确保您尝试序列化的类实现
Serializable
接口。这似乎是一件显而易见的事情,但我发现它是必需的:
class YourClass : Serializable {}
POJO 序列化的相关文档对于确保您的类检查所有适当的框和以下规则非常有用: