多襄丸
2020-10-17
也就是说 ContiuousEventTimeTrigger 总是表现为 append 模式进行输出,这种模式对下游的算子的业务是不友好的,因为我们总是希望利用到上次计算的结果而不是每次用全量计算的结果去重新计算。 所以 ContiuousEventTimeTrigger 单独使用的场景应该是比较少,还是看append模式的业务场景的需要。 而 PuringTrigger 总是在触发计算计算之前,清空上一次windonw的计算结果,属于Update模式,对下游算子而言,可以有效利用上次计算结果,且这种方式可以减少 Triger 维护的状态。 DeltaTrigger 比如在购物app中 一个用户距离上次购物时间 超过7天 就可以使用这种触发器吧? 或者,比如在温度传感器设备传来的数据中,和上次温度差超过5度,也可以使用这种触发器吧?
作者回复: 可以的 只要是能求取出Delta值即可,超过七天我觉得有点牵强,后面的场景非常适合,重点是和上一次数据对比。
Hunter_Dark
2022-07-26
老师,我是使用了proccessing Time trigger 。但是窗口没有数据进来,那么并不会触发计算对吗?
正向成长
2021-02-20
puring那个是update模式?课件里面是append模式
Tobias
2021-02-08
老师讲的很好,赞!
高飞
2020-12-15
请问老师,关于ContiuousEventTimeTrigger的使用场景, 如果窗口时间是1小时, 而ContiuousEventTimeTrigger设定每隔1分钟计算一次, 计算的时候要把结果存储到mysql上以便业务上实时的展示。 就是例如求每个区域的每小时的商品销售额, 要求每隔1min能能够看到销售额变动情况这种需求。 那么在窗口的下游算子计算的时候, 每1分钟都要计算一次存入mysql(不管是append模式还是update模式), 这样会不会还是计算重复了呢? 因为都添加了mysql中的数据记录, 还是说要维护窗口和mysql的映射关系, 找到对应的mysql的条目进行更新?
共 1 条评论
陈超
2020-11-12
这么说来,对每类默认window 做 .trigger() 指定后,原有默认窗口的默认Trigger就作废了,完全以 .trigger()里指定的为准了吧?