秋招总结(四)-海量数据处理问题归纳

TOP N问题1.如何在海量数据中找出重复最多一个通过hash映射为小文件 通过hash_map统计各个小文件重读最多的并记录次数 对每个小文件重复最多的进行建立大根堆2.上亿有重数据,统计最多前N个 内存存不下 通过hash映射为小文件 通过hash_map统计各个小文件重读最多的并记录次数 对每个小文件重复最多的进行建立...
摘要由CSDN通过智能技术生成

TOP N问题

 

1.如何在海量数据中找出重复最多一个

  • 通过hash映射为小文件
  • 通过hash_map统计各个小文件重读最多的并记录次数
  • 对每个小文件重复最多的进行建立大根堆

 

2.上亿有重数据,统计最多前N个

  • 内存存不下

    • 通过hash映射为小文件

    • 通过hash_map统计各个小文件重读最多的并记录次数

    • 对每个小文件重复最多的进行建立大根堆并重复N次取走堆顶并重建堆操作

  • 内存存得下

    • 直接内存通过hash_map统计并建大根堆

    • 重复N次取走堆顶并重建堆操作 

 

3.海量日志数据,提取出某日访问百度次数最多的那个IP

  • 将IP % 1000映射到1000个小文件中

    • 相同IP会被映射到同一个文件

    • 不会出现累加和更大情况

  • 分1000次在内存处理小文件,得到频率最大IP(使用map统计)

  • 对这1000个IP建立大根堆

 

 4.1000w查询串统计最热门10个(同2)

 

5.1G的文件,里面1行1个不超过16字节的词。内存限制1M,返回频数最高前100

  • 将单词 % 5000存入5000小文件

    • 平均各文件约200K

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值