大数据技术分享:大数据分析方法有哪些

数据黑客
大数据时代的到来,我们如何快速地从这些海量数据中抽取出关键的信息做好大数据分析,为企业和个人带来价值,是各界关注的焦点.下面为大家介绍一些大数据分析处理方法,帮助学员们更好的大数据培训学习。

大数据时代的到来,我们如何快速地从这些海量数据中抽取出关键的信息做好大数据分析,为企业和个人带来价值,是各界关注的焦点.下面为大家介绍一些大数据分析处理方法,帮助学员们更好的大数据培训学习。

(1)BloomFilter:布隆过滤器其实质是一个位数组和一系列Hash函数.

布隆过滤器的原理是利用位数组存储数据的Hash值而不是数据本身,其本质是利用Hash函数对数据进行有损压缩存储的位图索引.其优点是具有较高的空间效率和查询速率,缺点是有一定的误识别率和删除困难.布隆过滤器适用于允许低误识别率的大数据场合.

(2)Hashing:散列法,也叫做Hash法其本质是将数据转化为长度更短的定长的数值或索引值的方法.

这种方法的优点是具有快速的读写和查询速度,缺点是难以找到一个良好的Hash函数.

(3)索引:无论是在管理结构化数据的传统关系数据库,还是管理半结构化和非结构化数据的技术中,索引都是一个减少磁盘读写开销、提高增删改查速率的有效方法.

索引的缺陷在于需要额外的开销存储索引文件,且需要根据数据的更新而动态维护.

(4)Trie树:又称为字典树,是Hash树的变种形式,多被用于快速检索,和词频统计.

Trie树的思想是利用字符串的公共前缀,最大限度地减少字符串的比较,提高查询效率.

(5)并行计算:相对于传统的串行计算,并行计算是指同时使用多个计算资源完成运算.

其基本思想是将问题进行分解,由若干个独立的处理器完成各自的任务,以达到协同处理的目的.目前,比较典型的并行计算模型有MPI(messagepassinginterface),MapReduce,Dryad等.

传统数据分析方法,大多数都是通过对原始数据集进行抽样或者过滤,然后对数据样本进行分析,寻找特征和规律,其最大的特点是通过复杂的算法从有限的样本空间中获取尽可能多的信息.

随着计算能力和存储能力的提升,大数据分析学习传统分析方法的最大区别在于分析的对象是全体数据,而不是数据样本,其最大的特点在于不追求算法的复杂性和精确性,而追求可以高效地对整个数据集的分析.总之,传统数据方法力求通过复杂算法从有限的数据集中获取信息,其更加追求准确性;大数据分析方法则是通过高效的算法、模式,对全体数据进行分析.大数据分析模式由于大数据来源广泛,种类繁多,结构多样且应用于众多不同领域,所以针对不同业务需求的大数据,应采用不同的分析模式.

(1)根据实时性,可分为实时分析和离线分析实时分析,多用于电子商务、金融等领域.

由于数据瞬息万变,因此需要及时的大数据分析工具,在极短的时间能返回分析结果.目前,实时分析的主要模式是采用传统关系型数据库组成并行处理集群,并大多采用了内存计算平台.EMC的Greenplum、SAP的HANA等,都是进行实时分析的工具.离线分析,往往用于对结果反馈时间要求不高的场合,比如机器学习、统计分析、推荐算法等.离线分析一般是通过数据采集工具将日志大数据导入专用的平台进行分析.在大数据环境下,为了降低数据格式转化的开销,提高数据采集的效率,很多互联网企业都采用基于Hadoop的离线分析模式.例如,Facebook开源的Scribe、LinkedIn开源的Kafka、淘宝开源的Timetunnel、Hadoop的Chukwa等,均可以满足每秒数百MB的日志数据采集和传输需求.

(2)根据数据规模,可分为内存级、BI级和海量级内存级分析,是指数据总量不超过集群内存的最大值.

目前的服务器集群的内存超过几百GB,甚至达到TB级别都是很常见的,因此可以采用内存数据库技术,将热点数据常驻内存,从而达到提高分析效率的目的.内存级分析非常适用于实时分析业务.目前,MongoDB是比较有代表性的内存级分析模式.随着固态硬盘(solid-statedrive,SSD)的发展,内存级数据分析的能力和性能将会得到进一步的提升,其应用也越来越广泛.BI级分析,是指数据规模超出了内存级,但是又可以导入BI分析环境下进行分析,目前主流的BI产品都有支持TB级以上的数据分析方案.海量级分析,是指数据规模已经完全超出BI产品以及传统关系型数据库的能力.目前,大多数的海量级分析都是采用Hadoop的HDFS分布式文件系统来存储数据,并使用MapReduce进行分析.海量级分析基本也都属于离线分析.

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论