Storm、Spark和MapReduce 开源分布式计算系统框架比较

比较项 Storm Spark Streaming 分布式计算在许多领域都有广泛需求,目前流行的分布式计算框架主要有 Hadoop MapReduce, Spark Streaming, Storm; 这三个框架各有优势,现在都属于 Apache 基金会下的顶级项目,下文将对三个框架的特点与适用场景进行分析,以便开发者能快速选择适合自己的框架进行开发。

Hadoop MapReduce 是三者中出现最早,知名度最大的分布式计算框架,最早由 Google Lab 开发,使用者遍布全球(Hadoop PoweredBy);主要适用于大批量的集群任务,由于是批量执行,故时效性偏低,原生支持 Java 语言开发 MapReduce ,其它语言需要使用到 Hadoop Streaming 来开发。Spark Streaming 保留了 Hadoop MapReduce 的优点,而且在时效性上有了很大提高,中间结果可以保存在内存中,从而对需要迭代计算和有较高时效性要求的系统提供了很好的支持,多用于能容忍小延时的推荐与计算系统。Storm 一开始就是为实时处理设计,因此在实时分析/性能监测等需要高时效性的领域广泛采用,而且它理论上支持所有语言,只需要少量代码即可完成适配器。

下面的表格是对三者部分特性的比较,描述时间为 2015-5-3,三个项目均处于快速迭代中,文中描述特性会随时产生变化,如果与官方文档产生出入以官方文档为准。

本文作者:佚名

来源:51CTO

时间: 2024-10-07 20:22:58

Storm、Spark和MapReduce 开源分布式计算系统框架比较的相关文章

MapReduce分布式处理框架的优缺点

在Google数据中心会有大规模数据需要处理,比如被网络爬虫(WebCrawler)抓取的大量网页等.由于这些数据很多都是PB级别,导致处理工作不得不尽可能的并行化,而Google为了解决这个问题,引入了MapReduce这个分布式处理框架. 技术概览 MapReduce本身源自于函数式语言,主要通过"Map(映射)"和"Reduce(化简)"这两个步骤来并行处理大规模的数据集.首先,Map会先对由很多独立元素组成的逻辑列表中的每一个元素进行指定的操作,且原始列表不

流式大数据处理的三种框架:Storm,Spark和Samza

许多分布式计算系统都可以实时或接近实时地处理大数据流.本文将对三种Apache框架分别进行简单介绍,然后尝试快速.高度概述其异同. Apache Storm 在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topology).这个拓扑将会被提交给集群,由集群中的主控节点(master node)分发代码,将任务分配给工作节点(worker node)执行.一个拓扑中包括spout和bolt两种角色,其中spout发送消息,负责将数据流以tuple元组的形式发送出去;而bolt

分布式服务框架Dubbo疯狂更新!阿里开源要搞大事情?

Dubbo启动维护后,阿里中间件(Aliware)组建了由专职人员和RPC技术专家组成的虚拟维护团队.通过这篇文章,Dubbo的虚拟维护团队将和大家分享一些Dubbo启动维护的历程.取得的成绩以及后续的规划,具体包括Dubbo社区的建设情况.当前的版本维护主线.近期roadmap及后续计划等. Dubbo是阿里巴巴于2012年开源的分布式服务治理框架,目前已是国内影响力最大.使用最广泛的开源服务框架之一,在Github上的fork.start数均已破万. 在过去几年,Dubbo开源社区虽然一直有

跨语言-能同时支撑多语言互为provider,consumer的分布式服务框架,开源的有吗?

问题描述 能同时支撑多语言互为provider,consumer的分布式服务框架,开源的有吗? 能同时支撑多语言互为provider,consumer的分布式服务框架,开源的有吗? 开源的分布式服务框架(dubbo,HSF等)都不支持跨语言(或许有其他,但是我不知道). 如果没有开源的,我的思路是基于同一种协议(hession,thrift,protobuff,avro等)把各种语言支撑的框架集成到一起(例如 php python c++ 的)形成一个支持多语言互为provider,consum

分布式计算系统storm任务调度算法

分布式计算系统storm中worker.executor.task比较 http://www.111cn.net/sys/linux/96715.htm 3种Scheduler概述     EventScheduler:将系统中的可用资源均匀地分配给需要资源的topology,其实也不是绝对均匀,后续会详细说明    DefaultScheduler:和EvenetScheduler差不多,只不过会先将其它topology不需要的资源重新收集起来,再进行EventScheduler    Iso

Apache Eagle:eBay开源分布式实时Hadoop数据安全引擎

日前,eBay公司隆重宣布正式向开源业界推出分布式实时安全监控方案:Apache Eagle,该项目已于2015年10月26日正式加入Apache基金会成为孵化器项目. http://goeagle.io  Apache Eagle提供一套高效分布式的流式策略引擎,具有高实时.可伸缩.易扩展.交互友好等特点,同时集成机器学习对历史模型训练建立用户画像以实现智能实时地保护Hadoop生态系统中大数据的安全. Eagle在eBay的使用场景 目前,Eagle的数据行为监控系统已经部署到一个拥有250

专访QQ大数据团队,谈分布式计算系统开发

NoSQL是笔者最早接触大数据领域的相关知识,因此在大家都在畅谈Hadoop.Spark时,笔者仍然保留着NoSQL博文的阅读习惯.在偶尔阅读一篇Redis博文过程中,笔者发现了 jacksu的个人博客,并在其中发现了大量的分布式系统操作经验,从而通过他的引荐了解了QQ成立之初后台3个基础团队之一的QQ运营组,这里我们一起走进. QQ大数据团队 CSDN:首先,请介绍一下您的团队? 聂晶:我们团队是社交网络事业群/社交网络运营部/数据中心/平台开发二组,前身是QQ成立之初后台3个基础团队之一的Q

分布式测试框架架构与思考(1)奠基

"工欲善其事必先利其器".无论是哪个行业,这都是一句至理名言,软件测试当然也不例外.这也正是分布式测试框架(下文简称DST)设计的初衷. DST是海量数据项目背景下,为了解决测试集管理.运行.查询和测试执行.控制以及监控.日志数据的收集整理的一个通用型测试与分析平台.这个平台既包含了传统测试框架的特点也包含了自身的开创性思想.作为DST从前端界面到后端服务的亲身经历和开发者,下面我将从技术选型.架构设计.功能点分析.使用场景以及周边支持工具这几个角度来对DST测试平台做一个总结,进一步

分布式测试框架架构与思考(1)技术选型

"工欲善其事必先利其器".无论是哪个行业,这都是一句至理名言,软件测试当然也不例外.这也正是分布式测试框架(下文简称DST)设计的初衷. DST是海量数据项目背景下,为了解决测试集管理.运行.查询和测试执行.控制以及监控.日志数据的收集整理的一个通用型测试与分析平台.这个平台既包含了传统测试框架的特点也包含了自身的开创性思想.作为DST从前端界面到后端服务的亲身经历和开发者,下面我将从技术选型.架构设计.功能点分析.使用场景以及周边支持工具这几个角度来对DST测试平台做一个总结,进一步