有个需求大佬们看看有没有更好的实现方案( Java )

2020-02-25 15:03:32 +08:00
 ShutTheFu2kUP

现在有个需求如下:

1.用户点击商品以后,记录一条日志文件包含用户点击的商品信息如金额、时间等。

2.然后对用户的日志进行分析,比如以两个小时为单位,统计用户在哪个时间段内点击的次数最多,将次数最多的前几条以图表的形式展示出来。又或者对价格的进行划分不同的区间,统计展示用户点击最多价格区间内的商品。

以上的需求目前除了一条一条拿出来判断我也没有其他比较好的实现方法,比如上面的统计时间段,以两个小时为单位,一天 24 小时,我就要进行 12 次判断,这样写的话感觉过于的复杂。

小弟刚毕业半年,业务方面的经验确实不够丰富,希望大佬不吝赐教提供点更好的实现思路。

1947 次点击
所在节点    Java
6 条回复
chanchan
2020-02-25 15:19:15 +08:00
batch/stream 批式处理 /流式处理
B1ankCat
2020-02-25 15:28:29 +08:00
list.stream().collect(Collectors.groupingBy(function::getxxx)),xxx 为时间段属性
clarkyi
2020-02-25 15:32:40 +08:00
为啥不用 ba 统计呢?
wwwwzf
2020-02-25 15:39:51 +08:00
用第三方统计啊,v2ex 右下角 digitalocean 就是。
lyyhello
2020-02-25 15:50:34 +08:00
你想想。你是拿时间换空间。还是空间换时间。能不能入库的时候,就累加一,存起来。需要展示的时候就直接排序了。当然,你能流式计算就不用说了。
popvlovs
2020-02-25 15:56:43 +08:00
ELK 就很合适啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/647401

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX