面试题十一

问题:Flink CEP编程中当状态没有到达的时候会将数据保存在哪里?

解答:CEP当然在流式处理中是要支持EventTime的,那么相对应的要支持数据的晚到现象,也就是watermark的处理逻辑。在Flink的处理逻辑中,将晚到数据明细存储在了Map<Long, List>的结构中,也就是说,如果watermark设置为当前时间减去5分钟,那么内存中就会存储5分钟的数据,这在我看来,也是对内存的极大损伤之一。