V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ShutTheFu2kUP
V2EX  ›  Java

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

  •  
  •   ShutTheFu2kUP · 2020-02-25 15:03:32 +08:00 · 2096 次点击
    这是一个创建于 1762 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有个需求如下:

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

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

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

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

    chanchan
        1
    chanchan  
       2020-02-25 15:19:15 +08:00
    batch/stream 批式处理 /流式处理
    B1ankCat
        2
    B1ankCat  
       2020-02-25 15:28:29 +08:00
    list.stream().collect(Collectors.groupingBy(function::getxxx)),xxx 为时间段属性
    clarkyi
        3
    clarkyi  
       2020-02-25 15:32:40 +08:00
    为啥不用 ba 统计呢?
    wwwwzf
        4
    wwwwzf  
       2020-02-25 15:39:51 +08:00
    用第三方统计啊,v2ex 右下角 digitalocean 就是。
    lyyhello
        5
    lyyhello  
       2020-02-25 15:50:34 +08:00
    你想想。你是拿时间换空间。还是空间换时间。能不能入库的时候,就累加一,存起来。需要展示的时候就直接排序了。当然,你能流式计算就不用说了。
    popvlovs
        6
    popvlovs  
       2020-02-25 15:56:43 +08:00
    ELK 就很合适啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2760 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:56 · PVG 17:56 · LAX 01:56 · JFK 04:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.