下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

大数据主流三大分布式系统:Hadoop、Spark和Storm

作者:课课家教育     来源: http://www.kokojia.com点击数:1986发布时间: 2018-01-15 09:00:13

标签: 大数据Hadoop操作系统云计算

  随着云时代的到来,大数据(big data)一次越来越多地被提及,在各行各业的应用逐渐变得广泛起来。那么,大数据是什么?在数据处理速度飞速提高的背后则是整个架构的不断演进,大数据架构最火热的莫过于Hadoop,Spark和Storm这三种了,那这三者之间是什么关系?

大数据主流三大分布式系统:Hadoop、Spark和Storm_大数据_Hadoop_操作系统_云计算_课课家教育
  1、Hadoop
  所谓分布式计算过程就像蚂蚁搬家一样,将一个大型任务分割成很多部分,每一台电脑相当于一个小蚂蚁将其中一部分搬走。Hadoop作为分布式系统的基础架构,其重要性不言而喻。Hadoop的数据处理工作在硬盘层面,借助HDFS(分布式文件系统),可以将架构下每一台电脑中的硬盘资源聚集起来,不论是存储计算还是调用都可以视为一块硬盘使用,就像以前电脑中的C盘,D盘,之后使用集群管理和调度软件YARN,相当于windows,毕竟我们要进行编程首先需要一个操作系统,最后利用Map/Reduce计算框架相当于Virtual Studio,就可以在这上面进行计算编程。从而大幅降低了整体计算平台的硬件投入成本。而这也就是最基础的分布式计算架构。
  2、Spark
  Spark也是Apache基金会的开源项目,它由加州伯克利分校的实验室开发,是另外一种重要的分布式计算系统。它在Hadoop的基础上进 行了一些架构上的改良。Spark与Hadoop最大的不同点在于,Hadoop使用硬盘来存储数据,而Spark使用内存来存储数据,因此Spark可 以提供超过Hadoop100倍的运算速度。但是,由于内存断电后会丢失数据,Spark不能用于处理需要长期保存的数据。
  3、Storm
  Storm是Twitter主推的分布式计算系统,它由BackType团队开发,是Apache基金会的孵化项目。它在Hadoop的基础上提供 了实时运算的特性,可以实时的处理大数据流。不同于Hadoop和Spark,Storm不进行数据的收集和存储工作,它直接通过网络实时的接受数据并且 实时的处理数据,然后直接通过网络实时的传回结果。
  4、Spark和Storm
  所谓的数据流,就比如看网上视频,都是下载一段看一段,然后快结束的时候自动下载下一段。由于Hadoop的计算过程放在硬盘,受制于硬件条件限制,数据的吞吐和处理速度明显不如使用内存的快。于是Spark和Storm开始登上舞台。Spark和Storm两者最大的区别在于实时性:Spark是准实时,先收集一段时间的数据再进行统一处理,好比看网页统计票数每隔几秒刷新一次,而Storm则是完全实时,来一条数据就处理一条。当然Storm实时处理方式所带来的缺点也是很明显的,不论离线批处理,高延迟批处理还是交互式查询都不如Spark框架。不同的机制决定了两者架构适用的场景不同,比如炒股,股价的变化不是按秒计算的(Spark实时计算延迟度是秒级),在高频交易中,高频获利与否往往就在1ms(0.001秒)之间,而这恰好就是Storm的实时计算延迟度。
  今天大数据的混合架构就像目前云计算市场中风头最劲的混合云一样,成为大多数公司的首选。每一种架构都有其自身的独特优缺点,就像Hadoop,尽管数据处理的速度和难易度都远比不过Spark和Storm。但是由于硬盘断电后数据可以长期保存,因此在处理需要长期存储的数据时还是需要借助Hadoop。不过Hadoop由于具有非常好的兼容性,因此非常容易的同Spark和Storm进行结合,从而满足公司的不同需求。
  Hadoop,Spark和Storm是目前最重要的三大分布式计算系统,Hadoop常用于离线的复杂的大数据处理,Spark常用于离线的快速的大数据处理,而Storm常用于在线的实时的大数据处理。伴随着大数据的需求增长,不同的框架依然会不断进化,并改进自身的缺点,从而使得自身架构得到进一步的完善。就目前看来Hadoop,Spark和Storm目前远谈不到谁取代谁。

赞(25)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程