Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 内存集群计算系统的比较_Apache Spark_Redis_Apache Storm_Memcachedb - Fatal编程技术网

Apache spark 内存集群计算系统的比较

Apache spark 内存集群计算系统的比较,apache-spark,redis,apache-storm,memcachedb,Apache Spark,Redis,Apache Storm,Memcachedb,我正在研究Spark(Berkeley)群集计算系统。在我的研究中,我了解了一些其他内存系统,如Redis、Memcachedb等。如果有人能给我一个SPARK和Redis(以及Memcachedb)之间的比较,那就太好了。在什么情况下,Spark比其他内存系统更具优势 它们是完全不同的野兽 Redis和memcachedb是分布式存储。Redis是一个纯内存系统,具有可选的持久性,具有各种数据结构。Memcachedb在Berkeley DB之上提供了一个memcached API。在这两种情

我正在研究Spark(Berkeley)群集计算系统。在我的研究中,我了解了一些其他内存系统,如Redis、Memcachedb等。如果有人能给我一个SPARK和Redis(以及Memcachedb)之间的比较,那就太好了。在什么情况下,Spark比其他内存系统更具优势

它们是完全不同的野兽

Redis和memcachedb是分布式存储。Redis是一个纯内存系统,具有可选的持久性,具有各种数据结构。Memcachedb在Berkeley DB之上提供了一个memcached API。在这两种情况下,它们更有可能被OLTP应用程序使用,或者最终用于简单的实时分析(数据的动态聚合)

Redis和memcachedb都缺乏并行高效迭代存储数据的机制。您无法轻松扫描存储的数据并对其应用某些处理。它们不是为此而设计的。此外,除了使用客户端手动分片之外,它们不能在集群中扩展(不过Redis集群的实现正在进行中)

Spark是一个通过提供内存中的分布式数据集来加速大规模分析工作(尤其是迭代分析工作)的系统。使用Spark,您可以在机器集群上实现高效的迭代映射/减少作业

Redis和Spark都依赖内存数据管理。但是Redis(和memcached)与其他OLTP NoSQL商店的情况相同,而Spark与Hadoop map/reduce系统非常相似

Redis擅长以亚毫秒延迟的高吞吐量运行大量快速存储/检索操作。Spark在实现机器学习、图形分析、交互式数据挖掘等大规模迭代算法方面大放异彩。。。在大量的数据上

更新:关于风暴的其他问题

问题是比较Spark和Storm(见下面的评论)

Spark仍然基于这样一种想法,即当现有数据量很大时,将流程移动到数据中比将数据移动到流程中更便宜。每个节点存储(或缓存)其数据集,并将作业提交给节点。因此,流程将转移到数据。它与Hadoop map/reduce非常相似,不同的是内存存储被积极地用于避免I/O,这使得它对于迭代算法非常有效(当上一步的输出是下一步的输入时)。Shark只是一个建立在Spark之上的查询引擎(支持即席分析查询)

你可以将Storm视为Spark的完全相反的架构。Storm是一个分布式流媒体引擎。每个节点实现一个基本流程,数据项流入/流出一个互连节点网络(与Spark相反)。使用Storm时,数据将移动到进程中

这两个框架都用于并行计算大量数据

然而,Storm擅长动态处理大量生成/收集的小数据项(例如在Twitter流上实时计算一些聚合函数或分析)


Spark应用于已导入Spark群集的现有数据集(如Hadoop),通过内存管理提供快速扫描功能,并最大限度地减少迭代算法的全局I/O数。

Storm呢?你怎么能把它和Spark(或Shark)相比呢?谢谢你的更新。如果你不介意的话,还有一个问题。Spark具有用于实时分析的“火花流”工具。它是否可以与Storm(另一种实时分析工具)相比?它有什么优势吗?Spark流媒体模块可与Storm相媲美(两者都是流媒体引擎)。不过,它们的工作方式不同。Spark Streaming累积成批数据,然后将这些成批数据提交给Spark引擎,就像它们是不可变的Spark数据集一样。一旦收到风暴进程和调度项目。我不知道哪一个在吞吐量方面是最有效的。就延迟而言,可能是风暴。有没有公司在生产中使用Spark流媒体?有一个稳定的版本发布了吗?这是我的2美分:火花流有滑动窗口的概念,而在风暴中你必须自己维护窗口