码迷,mamicode.com
首页 > 其他好文 > 详细

关于海量数据常用的数据结构

时间:2014-07-18 19:32:31      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:style   strong   文件   数据   width   re   

数据结构

应用场景

示例

哈希表

要求所有键值对放入内存,查找可以在常数时间内完成。

l  提取某日志访问百度次数最多的IP

l  统计不同电话号码的个数

插入和调整需要O(logn)时间,n为堆元素的个数,而获取堆顶元素只需要常数时间。

l  求出海量数据前K大的数

l  求海量数据流的中位数

BitMap

通常记录整数出现的情况,用来快速查找、数字判重、删除元素等。

l  统计不同电话号码的个数

l  2.5亿个整数中查出不同重复的整数个数

双层桶

两次寻址方式以节省内存,通常用在求第K大、中位数和数字判重。

l  2.5亿整数找出中位数

l  海量数据的第K大的值

反向索引

通过单词-文档,属性-实体建索引,方便后序查找

l  基于关键词的搜索

l  搜索框输入的自动补全

外排

借用硬盘空间实现海量数据排序

l  1GB大小的文件,每行是一个词,内存1MB,返回频率最高的100的词

前缀树

为集合内所有单词建立前缀树

l  求出热门的查询字符串

l  求出重复率较高的词

MapReduce

分布式处理,将数据交给不同机器去处理,划分数据,然后规约结果

l  海量日志分析

l  数据挖掘

l  智能推荐系统

关于海量数据常用的数据结构,布布扣,bubuko.com

关于海量数据常用的数据结构

标签:style   strong   文件   数据   width   re   

原文地址:http://www.cnblogs.com/xiongqiangcs/p/3850537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!