在我的应用程序中,为用户执行的每个操作生成事件,并使用以下格式的数据生成事件-
用户|步骤|数字|事件|时间戳
这些事件的流化顺序并不完全严格,即在捕获用户1的所有事件之前,我们可能会将用户2的数据流化。
样本数据
u1,12020-05-30 00:00:01
u1,2,2020-05-30 00:00:02
u2,1,2020-05-30 00:00:02
u3,1,2020-05-30 00:00:02
2020年5月30日00:00:03
....
您将如何实现任何流解决方案来计算每个步骤所用的平均时间。我们可以假设用户为每个步骤花费的总时间为(步骤1的时间戳-步骤0的时间戳)。
我正在使用spark streaming构建解决方案,但是找不到任何东西来计算统计数据,这些数据来自按属性分组的2个事件(在我的例子中是user\ id)。想知道是否有任何其他流媒体技术,如Flink,Kafka等可用的解决方案。
1条答案
按热度按时间tkclm6bt1#
使用flink可以通过多种方式实现,但一种方法是使用flink sql和match\u recognize: