本文主要是介绍【笔试PK面试】之处理大量数据技术到底哪家强,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
海量数据处理,是指基于海量数据的存储、处理、和操作。举个例子,假设需要搜索的输入信息是一个字符串,统计500万输入信息中的最热门的前十条,我们每次输入的一个字符串为不超过255byte,内存使用只有1G,符合实现??因为数据量太大,导致要么无法在较短时间内迅速解决,或者无法一次性装入内存。
【通用解决办法】:
(1)针对时间问题,可以采用巧妙的算法搭配合适的数据结构(如布隆过滤器、哈希、位图、堆、数据库、倒排索引、Trie树)来解决;
(2)而对于空间问题,可以采取分而治之(哈希映射)的方法,也就是说,把规模大的数据转化为规模小的,从而各个击破。
因此可以总结处理海量数据问题有以下方法:
1.哈希分治;
2.simhash算法;
3.外排序;
4.MapReduce;
5.多层划分;
6.位图;
7.布隆过滤器;
8.Trie树;
9.数据库;
10.倒排索引。
这篇关于【笔试PK面试】之处理大量数据技术到底哪家强的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!