我在长期窗口上使用flink数据流和TumblingEventTimeWindows,能否通过1.9版本中的状态处理器api在savespoint中读取windowState的数据?
谢谢。
答案 0 :(得分:3)
是的,那应该可行。您需要为窗口运算符分配一个UID,以便从保存点读取其状态,并且需要构造一个兼容的状态描述符,该描述符应类似
ListStateDescriptor<StreamRecord<T>> stateDesc =
new ListStateDescriptor<>("window-contents", streamRecordSerializer);
更新:这似乎目前还不能完全解决,因为WindowOperator使用其窗口序列化程序作为名称空间序列化程序,这意味着状态处理器API无法反序列化TriggerContext中的状态,因为它正在使用VoidNamespaceSerializer。