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

大数据培训资讯:三个常用数据处理系统各自的特点

大数据这样火热,大数据培训也遍地开花。大数据培训都要培训些什么内容呢?这里我们介绍三个非常常见用途也很广泛的数据处理系统,都是大数据学习里的重要知识点哦。

大数据这样火热,大数据培训也遍地开花。大数据培训都要培训些什么内容呢?这里我们介绍三个非常常见用途也很广泛的数据处理系统,都是大数据学习里的重要知识点哦。

·Twitter的Storm系统

Storm是一套分布式、可靠、可容错的用于处理流式数据的系统。其流式处理作业被分发至不同类型的组件,每个组件负责一项简单的、特定的处理任务。Storm集群的输入流由名为Spout的组件负责。Spout将数据传递给名为Bolt的组件,后者将以指定的方式处理这些数据,如持久化或者处理并转发给另外的Bolt。Storm集群可以看成一条由Bolt组件组成的链(称为一个Topology)。每个Bolt对Spout产生出来的数据做某种方式的处理。
Storm可用来实时处理新数据和更新数据库,兼具容错性和扩展性。Storm也可被用于连续计算,对数据流做连续查询,在计算时将结果以流的形式输出给用户。它还可被用于分布式RPC,以并行的方式运行复杂运算。一个Storm集群分为3类节点:
(a)Nimbus节点,负责提交任务,分发执行代码,为每个工作结点指派任务和监控失败的任务;
(b)Zookeeper节点,负责Storm集群的协同操作;
(c)Supervisor节点,负责启动多个Worker进程,执行Topology的一部分,这个过程是通过Zookeeper节点与Nimbus节点通信完成的。因为Storm将所有的集群状态在保存在Zookeeper或者本地磁盘上,Supervisor节点是无状态的,因此其失败或者重启不会引起全局的重新计算。
Storm的主要特点是:
(a)简单的编程模型:Storm提供类似于MapReduce的操作,降低了并行批处理与实时处理的复杂性。一个Storm作业只需实现一个Topology及其所包含的Spout与Bolt。通过指定它们的连接方式,Topology可以胜任大多数的流式作业需求;
(b)容错性:Storm利用Zookeeper管理工作进程和节点的故障。在工作过程中,如果出现异常,Topology会失败。但Storm将以一致的状态重新启动处理,这样它可以正确地恢复;
(c)水平扩展:Storm拥有良好的水平扩展能力,其流式计算过程是在多个线程、进程和服务器之间并行进行的。Nimbus节点将大量的协同工作都交由Zookeeper节点负责,使得水平扩展不会产生瓶颈;
(d)快速可靠的消息处理:Storm利用ZeroMQ作为消息队列,极大提高了消息传递的速度,系统的设计也保证了消息能得到快速处理。Storm保证每个消息至少能得到一次完整处理。任务失败时,它会负责从消息源重试消息。

·Berkeley的Spark系统

Spark是一个基于内存计算的可扩展的开源集群计算系统。针对MapReduce的不足,即大量的网络传输和磁盘I/O使得效率低效,Spark使用内存进行数据计算以便快速处理查询,实时返回分析结果。Spark提供比Hadoop更高层的API,同样的算法在Spark中的运行速度比Hadoop快10倍~100倍。Spark在技术层面兼容Hadoop存储层API,可访问HDFS,HBASE,SequenceFile等。Spark-Shell可以开启交互式Spark命令环境,能够提供交互式查询。Spark是为集群计算中的特定类型的工作负载而设计,即在并行操作之间重用工作数据集(比如机器学习算法)的工作负载。
Spark的计算架构具有3个特点:
(a)Spark拥有轻量级的集群计算框架。Spark将Scala应用于他的程序架构,而Scala这种多范式的编程语言具有并发性、可扩展性以及支持编程范式的特征,与Spark紧密结合,能够轻松地操作分布式数据集,并且可以轻易地添加新的语言结构。
(b)Spark包含了大数据领域的数据流计算和交互式计算。Spark可以与HDFS交互取得里面的数据文件,同时Spark的迭代、内存计算以及交互式计算为数据挖掘和机器学习提供了很好的框架。
(c)Spark有很好的容错机制。Spark使用了弹性分布数据集(RDD),RDD被表示为Scala对象分布在一组节点中的只读对象集中,这些集合是弹性的,保证了如果有一部数据集丢失时,可以对丢失的数据集进行重建。Spark高效处理分布数据集的特征使其有着很好的应用前景,现在四大Hadoop发行商Cloudera,Pivotal,MapR以及Hortonworks都提供了对Spark的支持。

大数据培训资讯:三个常用数据处理系统各自的特点

·Google的MapReduce系统
由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仍能够提供很好的数据处理性能。

这三个处理系统几乎是每个大数据培训学习课程都必备的内容,提前了解更有助于你的大数据之路。
最新资讯更多+
内容推荐更多+
在线课堂
猜你喜欢