其实这个名字是我随意起的,开始之前我们先看一下描述,我们知道用户会在平台上有一些列的操作,这些操作构成一个序列,例如操作A->操作B->操作C
,这就是一个序列,现在我们就统计一下这样的序列有多少个,其实看到这里你就明白了,其实这就是CEP(复杂事件处理),只是我们这里的场景比较简单。
我们再看一下统计这些东西有什么意义吗,其实主要还是用在优化用户体验上面,例如我们有一个业务流程,我们可以将这个业务设计成A->B-C->D
也可以将其设计为A->C->B->D
那这个时候,这两个流程到底哪个更容易被用户接受呢,其实这个时候我们就可以分别统计这两个序列的数量多少加以判断。
数据准备
下面就是我们的数据,主要有用户uid,action,time
模拟了我们的基本的日志数据格式
uid action time
+----+-------+-----+
1 A 2021-07-19 00:00:00
1 A 2021-07-19 00:00:01
1 B 2021-07-19 00:00:02
1 C 2021-07-19 00:00:03
1 C 2021-07-19 00:00:04
1 D 2021-07-19 00:00:05
1 B 2021-07-19 00:00:06
1 C 2021-07-19 00:00:07
1 C 2021-07-19 00:00:08
1 D 2021-07-19 00:00:09
2 A 2021-07-19 00:00:00
2 A 2021-07-19 00:01:01
2 A 2021-07-19 00:01:02
2 C 2021-07-19 00:01:03
2 C 2021-07-19 00:01:04
2 D 2021