首页 > 代码库 > Storm和Spark比较
Storm和Spark比较
spark
Spark基于这样的理念,当数据庞大时,把计算过程传递给数据要比把数据传递给计算过程要更富效率。
每个节点存储(或缓存)它的数据集,然后任务被提交给节点。所以这是把计算过程传递给数据。
这和Hadoop map/reduce非常相似,除了积极使用内存来避免I/O操作,以使得迭代算法(前一步计算输出是下一步计算的输入)性能更高。
storm
而Storm的架构和Spark截然相反。Storm是一个分布式流计算引擎。
每个节点实现一个基本的计算过程,而数据项在互相连接的网络节点中流进流出。这个是把数据传递给计算过程。
两个框架都用于处理大量数据的并行计算。
Storm和Spark比较
Storm在动态处理大量生成的“小数据块”上要更好(比如在Twitter数据流上实时计算一些汇聚功能或分析)。
Spark工作于现有的数据全集(如Hadoop数据)已经被导入Spark集群,Spark基于in-memory管理可以进行快讯扫描,并最小化迭代算法的全局I/O操作。
不过Spark流模块(Streaming Module)倒是和Storm相类似(都是流计算引擎),尽管并非完全一样。
Spark流模块先汇聚批量数据然后进行数据块分发(视作不可变数据进行处理),而Storm是只要接收到数据就实时处理并分发。
不确定哪种方式在数据吞吐量上要具优势,不过Storm计算时间延迟要小。
总结下,Spark和Storm设计相反,而Spark Steaming才和Storm类似。
Storm和Spark比较
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。