赞
踩
随着实时数据的增加,对实时数据流的需求也在增长。更不用说,流技术正在引领大数据世界。使用更新的实时流媒体平台,用户选择一个平台变得很复杂。Apache Storm和Spark是该列表中最流行的两种实时技术。
让我们根据它们的功能比较Apache Storm和Spark,并帮助用户做出选择。本文的目的是Apache Storm Vs与Apache Spark无关,不是要对两者进行判断,而是要研究两者之间的异同。
要了解Spark Vs Storm,让我们首先了解两者的基础!
Apache Storm是一个开源,容错,可扩展的实时流处理计算系统。它是实时分布式数据处理的框架。它着重于事件处理或流处理。Storm实现了一种容错机制来执行计算或调度事件的多个计算。Apache Storm基于流和元组。
Apache Spark是用于集群计算的闪电般的快速大数据技术框架。它旨在对大型数据集进行快速计算。它是用于分布式处理的引擎,但没有内置的分布式存储系统和资源管理器。需要插入自己选择的存储系统和集群资源管理器。
Apache YARN或Mesos可用于群集管理器,而Google Cloud Storage,Microsoft Azure,HDFS(Hadoop分布式文件系统)和Amazon S3可用于资源管理器。
在这里,我们将解释实时处理工具(例如Apache Spark和Apache Storm)之间在功能方面的区别。让我们逐一查看每个功能,以比较Apache Storm与Apache Spark。这将帮助我们学习并决定根据该特定功能采用哪种更好的方法。
Apache Spark和Apache Storm框架在相同程度上具有容错能力。
Spark擅长对现有的数据全集做处理,概念是将过程传给大数据量的数据。
二者设计思路相反。Storm侧重于处理的实时性,Spark侧重处理庞大数据(类似于Hadoop的MR)。
Spark流模块(Spark Streaming)与Storm类似,但有区别:
1.Storm纯实时,来一条数据,处理一条数据;SparkStreaming准实时,对一个时间段内的数据收集起来,作为一个RDD,再做处理。
2.Storm响应时间毫秒级;Spark Streaming响应时间秒级
3.Storm可以动态调整并行度;SparkStreaming不行
Storm应用场景:
1、对于需要纯实时,不能忍受1秒以上延迟的场景
2、要求可靠的事务机制和可靠性机制,即数据的处理完全精准
3、如果还需要针对高峰低峰时间段,动态调整实时计算程序的并行度,以最大限度利用集群资源
Spark Streaming应用场景:
1、Spark Streaming可以和Spark Core、Spark SQL无缝整合,如果一个项目除了实时计算之外,还包括了离线批处理、交互式查询等业务功能,考虑使用Spark Streaming。
关于Apache Storm Vs和Apache Spark的研究得出的结论是,这两者都提供了它们的应用程序母版和最佳解决方案,以解决转换问题和流式传输。Apache Storm提供了解决实时数据流问题的快速解决方案。Storm只能解决流处理问题。而且,由于资源有限,很难创建Storm应用程序。
但是,行业中始终需要能够解决与流处理,批处理,迭代处理以及交互处理相关的所有问题的通用解决方案。Apache Spark可以解决许多类型的问题。这就是为什么技术专业人员和开发人员对Spark有巨大需求的原因。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。