是DataStream
API,主要是从用户不同行为属性,例如支付,访问等在不同的topic里,union后根据session的窗口聚合,获取到根据userId和sessionId两类型数据,分别是用户全部行为和用户单次访问的全部行为。
处理全实时数据没问题,但是如果处理带有历史数据就会遇到每一个topic内历史数据量不同,之前的解决方案是分为批处理和流处理两步,现在想把这两步合并起来,就会出现watermark被推高,丢掉快流的数据。
其实不光是丢数据的问题,如果按照快流的watermark来设置的话,也会出现,大量数据缓存在state里的情况,所以想做根据时间戳控制source读取速度。
非常感谢你提的三种方法,我比较倾向第三种,通过单个source进行控速比较符合我这的case,每次去读取不同的topic前两条数据,对比时间,确认下一个读取的目标。

回复