失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 海量数据处理:MapReduce法

海量数据处理:MapReduce法

时间:2019-09-20 00:36:54

相关推荐

海量数据处理:MapReduce法

海量数据处理:MapReduce法

MapReduce适用于大规模数据集(通常大于1TB)的并行运算,核心操作是Map(映射)和Reduce(化简)。Map函数独立地对每个元素进行操作,用于把一组健值对映射成一组新的健值对,即先通过Map程序将数据切割成不相关的区域,分配(调度)给大量计算机处理达到分布计算的效果,然后通过指定并发的Reduce函数来将结果汇总,保证所有映射键值对中的每一个共享相同的键组。

Map是把一组数据一对一地映射为另外的一组数据,其映射的规则由一个函数来指定,例如对【1,2,4,8】进行乘2的映射就变为【2,4,8,16】。Reduce是对一组数据进行规约,这个规约的规则是由另外一个函数指定的,例如对【1,2,4,8】进行求和规约得到的结果是15

一、top K问题

在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题称为top K问题。

针对top K类问题,通常比较好的方案是分治+Trie树/hash+小堆顶,即先将数据集按照hash方法分解成多个小数据集,然后使用Trie树或者hash统计每个小数据集中的query词频,之后用小顶堆求出每个数据集中出现频率最高的前K个数,最后在所有top K中求出最终的top K。

例如:有1亿个浮点数,如何找出其中最大的

如果觉得《海量数据处理:MapReduce法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。