MyException - 我的异常网
当前位置:我的异常网» 数据库 » 海量数据处理常用方法有哪些

海量数据处理常用方法有哪些

www.MyException.Cn  网友分享于:2018-04-03  浏览:1次
海量数据处理常用方法有哪些?

  处理海量数据是大数据工程师必备技能,通过对PB级别的数据进行挖掘与分析发掘出有价值的信息,为企业或政府做出正确决策提供依据,是十分必要的一项工作,以下是常用的海量数据处理方法!

 

1. Bloom filter

  Bloom filter是一种二进制向量数据结构,具有很好的空间效率和时间效率,可用来检测一个元素是否属于一个集合。该方法的优点是它的插入和查询时间都是常数,并且它查询元素却不保存元素本身,因此,具有良好的安全性,但因其算法的原因,其正确率稍低,可以确定不存在数据一定不存在,确定存在的数据不一定存在,适合对低错误率可以容忍的场合。

 

2. Hash

  Hash即散列函数,其是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数,根据处理需求的不同,有不同的Hash函数,针对字符串、整数、排列也具有相应的Hash方法,常用的Hash构造方法有直接寻址法、数字分析法、平方取中法、折叠法、随机数法以及除留余数法等。

 

3. BitMap

  BitMap是使用数组来表示某些数据是否存在的方法,可对数据进行快速查找、判断和删除操作,一般来说数据范围是int10倍以下,Bloom可以看做是对BitMap的扩展。

 

4.

  堆是计算机科学中的一种特殊的数据结构的统称,统称是一个可以被看做一颗树的数组对象,其原理是先从待找的n个数字中找出前k个建成小顶堆,然后依次读后面的元素并与小顶堆的堆顶进行比较,如果当前元素小或相等,则继续读后面的元素;如果当前的元素大,则用当前元素替换堆顶元素,然后调整小顶堆。最大堆求前k小,最小堆求前k大,双堆,求中位数。

 

5. 双层桶

  双层桶不是一种数据结构,而是一种算法思想,类似于分治思想。因为元素范围很大,不能利用直接寻址表,所以通过多次划分,逐步确定范围,然后最后在一个可以接受的范围内进行。双层桶法一般适用于寻找第k个大的数,寻找中位数、寻找不重复或重复的数字。

 

6. 数据库优化法

  海量数据都被存储在数据库中,如何从数据库中提取有用信息就需要用到数据库优化法,常见的数据库优化方法有数据分区、索引、缓存机制、分批处理、优化查询语句、使用采样数据进行数据挖掘等。

 

7. 倒排索引

  倒排索引是目前搜索引擎公司对搜索引擎最常用的存储方式,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。在处理复杂的多关键字时,可在倒排表中完成查询的并、交等逻辑运算,得到结果后再对结果进行存取,这样把记录的查询转换为地址集合的运算,不必对每个记录随机存取,从而提高查找速度。

 

8. 外排序

  外排序是对大文件的排序,由于内存限制,不能一下子把所有的待排内容都读到内存中进行排序,需要在内存和外部存储器之间进行多次数据交换才能达到对整个文件进行排序的目的,常用的外排序法是归并排序法,即首先生成若干个子文件,分别对这些子文件进行排序,然后对这些子文件进行多次归并,使得有序的归并段主键扩大,最后在外存上形成整个文件的单一归并段。

  外排序适用于大数据的排序以及去重,但外排序的缺陷是回消耗大量的IO,效率不高。

 

9. Trie

  Trie树是一种用于快速字符串检索的多叉树结果,原理是利用字符串的公共前缀来减少空间开销。经常被搜索引擎系统用于文件词频统计。优点是:最大限度地减少无谓的字符串比较,查询效率比散列表高。适合用于数据量大,重复多,但是数据种类小可以放入内存的情况。

 

10. MapReduce

  MapReduce是云计算的核心技术之一,是一种简化并行计算的分布式编程模型,主要目的是为了大型集群的系统能在大数据集上进行并行工作,并用于大规模数据的并行运算。

 

  以上是处理海量数据常用的方法,可以根据需处理的数据特点进行选择使用!

文章评论

写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
 程序员的样子
程序员的样子
总结2014中国互联网十大段子
总结2014中国互联网十大段子
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员的鄙视链
程序员的鄙视链
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
那些争议最大的编程观点
那些争议最大的编程观点
每天工作4小时的程序员
每天工作4小时的程序员
程序员和编码员之间的区别
程序员和编码员之间的区别
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
程序员必看的十大电影
程序员必看的十大电影
编程语言是女人
编程语言是女人
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
10个调试和排错的小建议
10个调试和排错的小建议
代码女神横空出世
代码女神横空出世
中美印日四国程序员比较
中美印日四国程序员比较
我的丈夫是个程序员
我的丈夫是个程序员
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
Java程序员必看电影
Java程序员必看电影
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员应该关注的一些事儿
程序员应该关注的一些事儿
鲜为人知的编程真相
鲜为人知的编程真相
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
为什么程序员都是夜猫子
为什么程序员都是夜猫子
旅行,写作,编程
旅行,写作,编程
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
如何成为一名黑客
如何成为一名黑客
程序员都该阅读的书
程序员都该阅读的书
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
我是如何打败拖延症的
我是如何打败拖延症的
老程序员的下场
老程序员的下场
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有