前两篇文章,小编已经介绍过相关的海量数据统计的基础知识,本文,会给大家介绍一下海量数据统计的系统功能都有哪些。总的来说,海量数据统计是现代科技下产生的十分优秀的产品,我们理应去了解更多关于海量数据统计的知识。
在海量日志数据里,提取某天访问量最多的IP,一般处理海量的思路都是分治处理,就是现将数据进行拆分,然后进行处理,排序等,这个例子也不例外,IPV4的地址一共32位,最大值为2^32也就是总数大约4G左右。如果放到内存里边,以目前的内存容量也是可以处理的,但是咱们可以为自己设置一些条件,比如目前没有那么多内存。
首先分治,将这个文件按照IP的HASH分成1024份(如果想要均匀的分的算法需要使用一致性Hash算法)。这样每个文件大约4M左右并且存放到磁盘上去。构建一个需要以IP为Key,出现次数为Value的TreeMap,读取每个文件,将IP和出现次数放入有序的TreeMap。 这样就可以得到出现次数最多的IP,前N个出现次数多的IP都可以获取到了。
这种问题一般是TOP K的问题,思路都可以按照这样的思路去解决,当然这种场景比较合适的就是Map Reduce莫属了,另外,关于TOP K的这种排序的话可以采用最小堆排序(即根节点是最小的),它的时间复杂度为n*mlogm,n即为一共多少数据。m为取出前m个数据。关于这种结构不知道的同学可以进行谷歌搜索,分治的作用就是为了减少使用系统的资源,比如系统内容。
有10个文件,每个文件1G,每个文件的每一行都存放的是用户的搜索的关键字,每个文件的搜索的关键字都可能重复,找出热度高的前1000个搜索关键字,(提示分治+hash+trie树+最小堆)如果是大量数据不重复的,而且需要内存占用比较少的需要找出出现的内容的话,适合使用BitMap位图法进行处理。
随着计算机时代的到来,传统的思维方式有了显著的变化,人们表现出更开放的思想以及决定他们自己命运的强烈愿望。海量数据统计作为云时代的重要产品之一,是十分值得我们一起去深入研究和学习的。所以,还不快快去了解更多关于海量数据统计的相关知识。
更多产品了解
欢迎扫码加入云巴巴企业数字化交流服务群
产品交流、问题咨询、专业测评
都在这里!
2022-11-21 14:52:32
2022-11-21 14:50:38
2022-11-21 14:52:45
2020-03-12 17:28:43
2022-11-21 14:54:48
2022-11-21 14:50:16
甄选10000+数字化产品 为您免费使用
申请试用
评论列表