通信人家园

 找回密码
 注册

只需一步,快速开始

搜索

军衔等级:

  新兵

注册时间:
2016-9-27
发表于 2019-3-8 19:43:11 |显示全部楼层
本帖最后由 huming000 于 2019-3-8 23:24 编辑

探讨的场景:
1、数据源:取出大量指标或其他需要计算统计的原始数据文件(txt、csv等类型),几十或几百个甚至更多,当前这个例子为小时级的小区指标文件;
2、存在的问题:很难在短时间内对大量的数据计算出所需要的结果;
需求:取出每个月,每个小区<最大RRC连接数>的最大的三天数据和其对应的其他指标;(迭代分组取TOPN的问题)
即:
第一次分组计算:取出每个小区每天24小时中,哪个时段的<最大RRC连接数>的值最大,并记录下这个时段(即自忙时);
第二次分组计算:以第一次分组结算的结果,作为数据源,取每个月中,每个小区<最大RRC连接数>最大的前三天对应的指标数据;
3、解决方案:
1.png

对于数据量比较大的场景,使用单机关系型数据库实现迭代分组的功能,耗时较长,有兴趣的朋友可以尝试一下,oracle里面的开窗函数可以解决此类场景的问题,但是具体性能如何,没有尝试过。单机mysql貌似没有能够有高性能的解决方案,我自己尝试过好几种写法,都无法避免索引失效导致的全表扫描问题;但无论如何,文件导入数据库的过程必然耗费大量时间。
4、业务流程:
2.png

5、代码过程落地:
3.png

4.png

6:源码:
源码.rar (183.82 KB, 下载次数: 0)

7:视频说明:https://v.youku.com/v_show/id_XNDA5MDM5MDM0OA==.html?spm=a2h3j.8428770.3416059.1










3.png

源码.rar

183.12 KB, 下载次数: 1

军衔等级:

  列兵

注册时间:
2017-6-14
发表于 2019-3-14 23:02:30 |显示全部楼层
应用NB哦
您需要登录后才可以回帖 登录 | 注册 |

Archiver|手机版|C114 ( 沪ICP备12002292号 )|联系我们 |网站地图  

GMT+8, 2019-3-19 16:36 , Processed in 0.093750 second(s), 18 queries , Gzip On.

Copyright © 1999-2018 C114 All Rights Reserved

Discuz Licensed

回顶部