一段基于事件时间的流中有e1、e2、e3、e4、e5这五个事件,
流程要求:
事件流程有序,即:e1之后发生e2,e2之后发生e3,e3之后发生e4,e4之后发生e5,但事件到达flink可能是乱序的
e1、e2要求在3s内发生;
e3、e4在5s内发生
flink怎么做这种多段的时间超时控制啊,CEP只能控制一整段的。
(滴滴的CEP分享很nice,但是不知道怎么把time转换为NFA,这样就做不到那种两个事件之间细粒度的时间控制,原生flink怎么应对这种情况呢?)
我理解你的需求实际是要求window的size是可变的,如果用DataStream,可以通过自定义一个WindowAssigner实现(见方法DataStream.windowAll(WindowAssigner<? super T, W> assigner)),基于time的自定义的WindowAssigner实现可参见类TumblingProcessingTimeWindows或TumblingEventTimeWindows。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。