科多大数据培训
全国24小时免费热线
15328019568
联系QQ
3048661160
开班时间
当前位置:首页 > 学习资讯 > 大数据内容 >

大数据培训资讯:不同数据形式的代表性系统

大数据中蕴含的宝贵价值成为人们存储和处理大数据的驱动力。Mayer-Schönberger在《大数据时代》一书中指出了大数据时代处理数据理念的三大转变,即要全体不要抽样,要效率不要绝对

海量数据的处理对于当前存在的技术来说是一种极大的挑战,也是大数据培训的重要知识点之一。目前,人们对大数据的处理形式主要是对静态数据的批量处理,对在线数据的实时处理,以及对图数据的综合处理。其中,在线数据的实时处理又包括对流式数据的处理和实时交互计算两种。本节将详细阐述上述4种数据形式的代表性系统。

1.批量数据处理系统
利用批量数据挖掘合适的模式,得出具体的含义,制定明智的决策,最终做出有效的应对措施实现业务目标是大数据批处理的首要任务。大数据的批量处理系统适用于先存储后计算,实时性要求不高,同时数据的准确性和全面性更为重要的场景。
由Google公司2003年研发的Google文件系统GFS和2004年研发的MapReduce编程模型以其Web环境下批量处理大规模海量数据的特有魅力,在学术界和工业界引起了很大反响。虽然Google没有开源这两项技术的源码,但是基于这两篇开源文档,2006年Nutch项目子项目之一的Hadoop实现了两个强有力的开源产品:HDFS和MapReduce。Hadoop成为了典型的大数据批量处理架构,由HDFS负责静态数据的存储,并通过MapReduce将计算逻辑分配到各数据节点进行数据计算和价值发现。Hadoop顺应了现代主流IT公司的一致需求,之后以HDFS和MapReduce为基础建立了很多项目,形成了Hadoop生态圈。
MapReduce编程模型之所以受到欢迎并迅速得到应用,在技术上主要有3方面的原因。首先,MapReduce采用无共享大规模集群系统。集群系统具有良好的性价比和可伸缩性,这一优势为MapReduce成为大规模海量数据平台的首选创造了条件。其次,MapReduce模型简单、易于理解、易于使用。它不仅用于处理大规模数据,而且能将很多繁琐的细节隐藏起来(比如,自动并行化、负载均衡和灾备管理等),极大地简化了程序员的开发工作。而且,大量数据处理问题,包括很多机器学习和数据挖掘算法,都可以使用MapReduce实现。第三,虽然基本的MapReduce模型只提供一个过程性的编程接口,但在海量数据环境、需要保证可伸缩性的前提下,通过使用合适的查询优化和索引技术,MapReduce仍能够提供很好的数据处理性能。

2.流式数据处理系统
流式数据处理已经在业界得到广泛的应用,典型的有Twitter的Storm,Facebook的Scribe,Linkedin的Samza,Cloudera的Flume,Apache的Nutch。
·Twitter的Storm系统
Storm是一套分布式、可靠、可容错的用于处理流式数据的系统。其流式处理作业被分发至不同类型的组件,每个组件负责一项简单的、特定的处理任务。Storm集群的输入流由名为Spout的组件负责。Spout将数据传递给名为Bolt的组件,后者将以指定的方式处理这些数据,如持久化或者处理并转发给另外的Bolt。Storm集群可以看成一条由Bolt组件组成的链(称为一个Topology)。每个Bolt对Spout产生出来的数据做某种方式的处理。
·Linkedin的Samza系统
Linkedin早期开发了一款名叫Kafka的消息队列,广受业界的好评,许多流式数据处理系统都使用了Kafka作为底层的消息处理模块。

3.交互式数据处理系统
交互式数据处理系统的典型代表系统是Berkeley的Spark系统和Google的Dremel系统。
·Berkeley的Spark系统
Spark是一个基于内存计算的可扩展的开源集群计算系统。针对MapReduce的不足,即大量的网络传输和磁盘I/O使得效率低效,Spark使用内存进行数据计算以便快速处理查询,实时返回分析结果。Spark是为集群计算中的特定类型的工作负载而设计,即在并行操作之间重用工作数据集(比如机器学习算法)的工作负载。
·Google的Dremel系统
Dremel是Google研发的交互式数据分析系统,专注于只读嵌套数据的分析。Dremel可以组建成规模上千的服务器集群,处理PB级数据。传统的MapReduce完成一项处理任务,最短需要分钟级的时间,而Dremel可以将处理时间缩短到秒级。Dremel是MapReduce的有力补充,可以通过MapReduce将数据导入到Dremel中,使用Dremel来开发数据分析模型,最后在MapReduce中运行数据分析模型。

4.图数据处理系统
现今主要的图数据库有GraphLab,Giraph(基于Pregel克隆),Neo4j,HyperGraphDB,InfiniteGraph,Cassovary,Trinity以及Grappa等。下面介绍3个典型的图数据处理系统,包括Google的Pregel系统,Neo4j系统和微软的Trinity系统。
·Google的Pregel系统
Pregel是Google提出的基于BSP(Bulksynchronousparallel)模型的分布式图计算框架,主要用于图遍历(BFS)、最短路径(SSSP)、PageRank计算等。
·Neo4j系统
Neo4j是一个高性能的、完全兼容ACID特性的、鲁棒的图数据库。它基于Java语言开发,包括社区版和企业版,适用于社会网络和动态网络等场景。Neo4j在处理复杂的网络数据时表现出很好的性能。
·微软的Trinity系统
Trinity是Microsoft推出的一款建立在分布式云存储上的计算平台,可以提供高度并行查询处理、事务记录、一致性控制等功能。

spark、MapReduce、Hadoop......这些系统都是大数据培训的重难点,准备学习大数据的小伙伴一定要把这些点全都好好掌握住哦。
最新资讯更多+
内容推荐更多+
在线课堂
猜你喜欢