当前位置:网站首页 > 大数据处理 > 正文

大数据处理方案_大数据处理方案

原文网址:大数据处理方案_IT利刃出鞘的博客-CSDN博客

简介

本文介绍大数据的一些处理方案。

本内容来源于一次面试:如何统计大数据量重复出现的次数?比如,数据量超过了4G,但内存只有4G,该如何处理?

概述

处理海量数据问题,无非就是:

  1. 分而治之(hash映射) + hash统计 + 排序;
  2. Bloom filter/Bitmap;
  3. Trie树/数据库/倒排索引;
  4. 外排序;
  5. 分布式处理(hadoop/mapreduce)。

方案1:hash映射 + hash统计 + 排序;

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

既然是海量数据处理,那么可想而知,给我们的数据那就一定是海量的。针对这个数据的海量,我们如何着手呢?对的,无非就是分而治之/hash映射 + hash统计 + 堆/快速/归并排序,说白了,就是先映射,而后统计,最后排序:

  1. 分而治之/hash映射:针对数据太大,内存受限,智能是:把大文件化成(取模映射)小文件,即16字方针:大而化小,各个击破,缩小规模,逐个解决
  2. hash统计:当大文件转化了小文件,那么我们便可以采用常规的hashmap(ip,value)来进行频率统计。
  3. 堆/快速排序:统计完了之后,便进行排序(可采取堆排序),得到次数最多的IP。

具体而论,则是: “首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。”.

但如果数据规模比较小,能一次性装入内存呢?比如下面的这道题,题目中说,虽然有一千万个Query,但是由于重复度比较高,因此事实上只有300万的Query,每个Query255Byte,因此我们可以考虑把他们都放进内存中去,而现在只是需要一个合适的数据结构,在这里,Hash Table绝对是我们优先的选择。OK,请看第2题:

2、统计搜索引擎的热门查询串

搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。

上边只是部分内容,为便于维护,本文已迁移到此地址:大数据处理方案 - 自学精灵

到此这篇大数据处理方案_大数据处理方案的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Hadoop:大数据处理的强大引擎_Hadoop:大数据处理的强大引擎2024-10-30 15:58:54
  • 数仓建模—数据语义层_数仓建模—数据语义层2024-10-30 15:58:54
  • 大神程序员怎么做大数据处理的?_大神程序员怎么做大数据处理的?2024-10-30 15:58:54
  • 大数据核心技术介绍:大数据处理技术_大数据核心技术介绍:大数据处理技术2024-10-30 15:58:54
  • 一文读懂大数据概念、处理方法和流行技术_一文读懂大数据概念、处理方法和流行技术2024-10-30 15:58:54
  • 大数据处理系统,分布式存储系统和分布式计算框架介绍_大数据处理系统,分布式存储系统和分布式计算框架介绍2024-10-30 15:58:54
  • 技术分析:开源大模型的兴起与热门项目推荐_技术分析:开源大模型的兴起与热门项目推荐2024-10-30 15:58:54
  • 【Python数据处理】10个常用工具,让你的数据处理更高效!_【Python数据处理】10个常用工具,让你的数据处理更高效!2024-10-30 15:58:54
  • 谈谈MATLAB大数据处理_谈谈MATLAB大数据处理2024-10-30 15:58:54
  • 大数据处理的三种框架:Storm,Spark和Samza_大数据处理的三种框架:Storm,Spark和Samza2024-10-30 15:58:54
  • 全屏图片