现在有个需求如下:
1.用户点击商品以后,记录一条日志文件包含用户点击的商品信息如金额、时间等。
2.然后对用户的日志进行分析,比如以两个小时为单位,统计用户在哪个时间段内点击的次数最多,将次数最多的前几条以图表的形式展示出来。又或者对价格的进行划分不同的区间,统计展示用户点击最多价格区间内的商品。
以上的需求目前除了一条一条拿出来判断我也没有其他比较好的实现方法,比如上面的统计时间段,以两个小时为单位,一天 24 小时,我就要进行 12 次判断,这样写的话感觉过于的复杂。
小弟刚毕业半年,业务方面的经验确实不够丰富,希望大佬不吝赐教提供点更好的实现思路。
1
chanchan 2020-02-25 15:19:15 +08:00
batch/stream 批式处理 /流式处理
|
2
B1ankCat 2020-02-25 15:28:29 +08:00
list.stream().collect(Collectors.groupingBy(function::getxxx)),xxx 为时间段属性
|
3
clarkyi 2020-02-25 15:32:40 +08:00
为啥不用 ba 统计呢?
|
4
wwwwzf 2020-02-25 15:39:51 +08:00
用第三方统计啊,v2ex 右下角 digitalocean 就是。
|
5
lyyhello 2020-02-25 15:50:34 +08:00
你想想。你是拿时间换空间。还是空间换时间。能不能入库的时候,就累加一,存起来。需要展示的时候就直接排序了。当然,你能流式计算就不用说了。
|
6
popvlovs 2020-02-25 15:56:43 +08:00
ELK 就很合适啊
|