踏得网。Spark基于这种理念,当数据庞大时,把计算过程传递给数据要比把数据传递给计算过程要更富效率。每一个节点存储(或缓存)它的数据集。然后任务被提交给节点。所以这是把过程传递给数据。这和Hadoop?map/reduce很相"/>

两款高性能并行计算引擎Storm和Spark比較

Posted ldxsuanfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两款高性能并行计算引擎Storm和Spark比較相关的知识,希望对你有一定的参考价值。

对Spark、Storm以及Spark Streaming引擎的简明扼要、深入浅出的比較。原文发表于踏得网


Spark基于这种理念,当数据庞大时,把计算过程传递给数据要比把数据传递给计算过程要更富效率。

每一个节点存储(或缓存)它的数据集。然后任务被提交给节点。

所以这是把过程传递给数据。

这和Hadoop?map/reduce很相似,除了积极使用内存来避免I/O操作,以使得迭代算法(前一步计算输出是下一步计算的输入)性能更高。

Shark仅仅是一个基于Spark的查询引擎(支持ad-hoc暂时性的分析查询)

而Storm的架构和Spark截然相反。Storm是一个分布式流计算引擎。每一个节点实现一个主要的计算过程。而数据项在互相连接的网络节点中流进流出。和Spark相反,这个是把数据传递给过程。

两个框架都用于处理大量数据的并行计算。

Storm在动态处理大量生成的“小数据块”上要更好(比方在Twitter数据流上实时计算一些汇聚功能或分析)。

Spark工作于现有的数据全集(如Hadoop数据)已经被导入Spark集群,Spark基于in-memory管理能够进行快讯扫描,并最小化迭代算法的全局I/O操作。

只是Spark流模块(Streaming?Module)倒是和Storm相相似(都是流计算引擎)。虽然并不是全然一样。

Spark流模块先汇聚批量数据然后进行数据块分发(视作不可变数据进行处理)。而Storm是仅仅要接收到数据就实时处理并分发。

不确定哪种方式在数据吞吐量上要具优势。只是Storm计算时间延迟要小。

总结下,SparkStorm设计相反,而Spark?Steaming才和Storm相似。前者有数据平滑窗体(sliding?window),而后者须要自己去维护这个窗体。


By Techbrood Co.

以上是关于两款高性能并行计算引擎Storm和Spark比較的主要内容,如果未能解决你的问题,请参考以下文章

Spark streaming storm map reduce区别与联系

Spark cluster 部署

聊聊批计算、流计算、Hadoop、Spark、Storm、Flink等等

Spark Streaming与Storm的对比及使用场景

大数据Spark与Storm技术选型

spark实时计算性能优化