大数据框架对比:Hadoop、Storm、Samza、Spark和Flink

  • 时间:
  • 浏览:0

Spout:所处拓扑边缘的数据流来源,这类都也能是API或查询等,从这里都也能产生待避免的数据。

新版Hadoop涵盖多个组件,即多个层,通过配合使用可避免批数据:

优势和局限

Flink的什么都组件是自行管理的。着实 这个 做法较为罕见,但出于性能方面的愿因,该技术可自行管理内存,我太少 依赖原生的Java垃圾回收机制。与Spark不同,待避免数据的行态所处变化后Flink我太少 手工优化和调整,我希望该技术也都也能自行避免数据分区和自动缓存等操作。

Apache Samza是五种与Apache Kafka消息系统紧密绑定的流避免框架。着实 Kafka可用于什么都流避免系统,但按照设计,Samza都也能更好地发挥Kafka独特的架构优势和保障。该技术可通过Kafka提供容错、缓冲,以及状态存储。

流避免系统

下文将介绍哪几种框架:

Samza可使用YARN作为资源管理器。这愿因默认状态下须要具备Hadoop集群(相当于具备HDFS和YARN),但一起也愿因Samza都也能直接使用YARN富于的内建功能。

对于混合型工作负载,Spark可提供高速批避免和微批避免模式的流避免。该技术的支持更完善,具备各种集成库和工具,可实现灵活的集成。Flink提供了真正的流避免并具备批避免能力,通过淬硬层 优化可运行针对这个平台编写的任务,提供低延迟的避免,但实际应用方面还为时过早。

流避免模式

流批(Stream batch):这是指流数据的微批,可通过分块提供批避免语义。

为了在计算过程中遇到问题都也有助恢复,流避免任务会在预定时间点创建快照。为了实现状态存储,Flink可配合多种状态后端系统使用,具体取决于所需实现的冗杂度和持久性级别。

功能性操作主要侧重于状态或副作用有限的离散步骤。针对同原本数据执行同原本操作会或略这个因素产生相同的结果,此类避免非常适合流避免,愿因不同项的状态通常是这个困难、限制,以及这个状态下不须要的结果的结合体。我希望着实 这个类型的状态管理通常是可行的,但哪几种框架通常在不具备状态管理机制时更简单也更高效。

Flink提供了低延迟流避免,一起可支持传统的批避免任务。Flink他说最适合有极高流避免需求,并有絮状批避免任务的组织。该技术可兼容原生Storm和Hadooptcp连接,可在YARN管理的集群上运行,我希望都也能很方便地进行评估。快速进展的开发工作使其值得被他们 关注。

Samza提供的高级抽象使其在什么都方面比Storm等系统提供的基元(Primitive)更易于配合使用。目前Samza只支持JVM语言,这愿因它在语言支持方面不如Storm灵活。

批避免系统

为了实现内存中批计算,Spark会使用五种名为Resilient Distributed Dataset(弹性分布式数据集),即RDD的模型来避免数据。这是五种代表数据集,只所处内存中,永恒不变的行态。针对RDD执行的操作可生成新的RDD。每个RDD可通过世系(Lineage)回溯至父级RDD,并最终回溯至磁盘上的数据。Spark可通过RDD在我太少 将每个操作的结果写回磁盘的前提下实现容错。

Apache Hadoop

Broker(代理):组成Kafka集群的每个节点也叫做代理。

愿因这个 法律土办法 严重依赖持久存储,每个任务须要多次执行读取和写入操作,我希望速率单位相对较慢。但个人面愿因磁盘空间通常是服务器上最富于的资源,这愿因MapReduce都也能避免非常海量的数据集。一起也愿因相比这个这类技术,Hadoop的MapReduce通常都也能在廉价硬件上运行,愿因该技术无须须要将一切都存储在内存中。MapReduce具备极高的缩放潜力,生产环境中原本再次出现过涵盖数万个节点的应用。

Storm与Trident配合使得用户都也能用微批代替纯粹的流避免。着实 借此用户都也能获得更大灵活性打造更符合要求的工具,但一起这个 做法会削弱该技术相比这个避免方案最大的优势。话虽那末,但多五种流避免法律土办法 经常 好的。

直接写入Kafka还可避免回压(Backpressure)问题。回压是指当负载峰值愿因数据流入速率单位超过组件实时避免能力的状态,这个 状态愿因愿因避免工作停顿并愿因丢失数据。按照设计,Kafka都也能将数据保存很长时间,这愿因组件都也能在方便的之前 继续进行避免,并可直接重启动而我太少 担心造成任何后果。

絮状数据的避免须要付出絮状时间,我希望批避免不适合对避免时间要求较高的场合。

Samza依赖Kafka的语义定义流的避免法律土办法 。Kafka在避免数据时涉及下列概念:

目前Flink最大的局限之一在于这依然是原本非常“年幼”的项目。现实环境中该项目的大规模部署尚不如这个避免框架那末常见,对于Flink在缩放能力方面的局限目前也那末较为深入的研究。随着快速开发周期的推进和兼容包等功能的完善,当太少的组织开始英文英文尝试时,愿因会再次出现太少的Flink部署。

着实 内存中避免法律土办法 可大幅改善性能,Spark在避免与磁盘有关的任务时速率单位完整版都是很大提升,愿因通过提前对整个任务集进行分析都也能实现更完善的整体式优化。为此Spark可创建代表所需执行的完整版操作,须要操作的数据,以及操作和数据之间关系的Directed Acyclic Graph(有向无环图),即DAG,借此避免器都也能对任务进行更智能的协调。

为了冗杂哪几种组件的讨论,他们 会通过不同避免框架的设计意图,按照所避免的数据状态对其进行分类。这个系统都也能用批避免法律土办法 避免数据,这个系统都也能用流法律土办法 避免连续不断流入系统的数据。此外还有这个系统都也能一起避免这两类数据。

Flink会通太少种法律土办法 对工作进行分许进而优化任务。这个 分析在每项程度上这类于SQL查询规划器对关系型数据库所做的优化,可针对特定任务选折 最高效的实现法律土办法 。该技术还支持多阶段并行执行,一起可将受阻任务的数据集合在一起。对于迭代式任务,出于性能方面的考虑,Flink会尝试在存储数据的节点上执行相应的计算任务。此外还可进行“增量迭代”,或仅对数据涵盖改动的每项进行迭代。

Topic(话题):进入Kafka系统的每个数据流可称之为原本话题。话题基本上是五种可供消耗方订阅的,由相关信息组成的数据流。

混合框架:

Apache Storm是五种侧重于极低延迟的流避免框架,他说是要求近实时避免的工作负载的最佳选折 。该技术可避免非常絮状的数据,通过比这个避免方案更低的延迟提供结果。

乍看之下,Samza对Kafka类查询系统的依赖似乎是五种限制,然而这也都也能为系统提供这个独特的保证和功能,哪几种内容也是这个流避免系统不具备的。

Hadoop的避免功能来自MapReduce引擎。MapReduce的避免技术符合使用键值对的map、shuffle、reduce算法要求。基本避免过程包括:

原本优化是对批避免任务进行分解,原本即可在须要的之前 调用不同阶段和组件。借此Flink都也能与集群的这个用户更好地共存。对任务提前进行分析使得Flink都也能查看须要执行的所有操作、数据集的大小,以及下游须要执行的操作步骤,借此实现进一步的优化。

Flink的流避免模型在避免传入数据完整版都是将每一项视作真正的数据流。Flink提供的DataStream API可用于避免无尽的数据流。Flink可配合使用的基本组件包括:

Stream:普通的数据流,这是五种会持续抵达系统的无边界数据。

如你所见,这个 行态主我希望由Spark和Flink实现的,下文将介绍这个 种框架。实现原本的功能重点在于五种不同避免模式怎样才能进行统一,以及要对固定和不固定数据集之间的关系进行何种假设。

批避免非常适合须要访问全套记录也能完成的计算工作。这类在计算总数和平均数时,须要将数据集作为原本整体加以避免,而也能将其视作多条记录的集合。哪几种操作要求在计算进行过程中数据维持个人的状态。

工作数据集他说更相关,在特定时间也能代表某个单一数据项。

愿因内存通常比磁盘空间更贵,我希望相比基于磁盘的系统,Spark成本更高。然而避免速率单位的提升愿因都也能调慢速完成任务,在须要按照小时数为资源付费的环境中,这个 行态通常都也能抵消增加的成本。

完整版数据集也能代表截至目前愿因进入到系统中的数据总量。

为避免哪几种问题,通常建议Storm用户尽愿因使用Core Storm。然而也要注意,Trident对内容严格的一次避免保证在这个状态下也比较有用,这类系统无法智能所避免重复消息时。愿因须要在项之间维持状态,这类我太少 计算原本小时内几个用户点击了某个链接,此时Trident将遇见你唯一的选折 。尽管也能充分类分类整理挥框架和联 俱来的优势,但Trident提高了Storm的灵活性。

优势和局限

Spark Streaming会以亚秒级增量对流进行缓冲,之前 哪几种缓冲会作为小规模的固定数据集进行批避免。这个 法律土办法 的实际效果非常好,但相比真正的流避免框架在性能方面依然所处过高 。

批避免模型

从HDFS文件系统读取数据集

大数据是分类分类整理、分类整理、避免大容量数据集,并从中获得见解所需的非传统战略和技术的总称。着实 避免数据所需的计算能力或存储容量早已超过一台计算机的上限,但这个 计算类型的普遍性、规模,以及价值在最近几年才经历了大规模扩展。

Apache Hadoop是五种专用于批避免的避免框架。Hadoop是首个在开源社区获得极大关注的大数据框架。基于谷歌有关海量数据避免所发表的多篇论文与经验的Hadoop重新实现了相关算法和组件堆栈,让大规模批避免技术变得更易用。

围绕Hadoop愿因形成了辽阔的生态系统,Hadoop集群五种也经常 被用作这个软件的组成部件。什么都这个避免框架和引擎通过与Hadoop集成也都也能使用HDFS和YARN资源管理器。

流避免系统会对随时进入系统的数据进行计算。相比批避免模式,这是五种截然不同的避免法律土办法 。流避免法律土办法 我太少 针对整个数据集执行操作,我希望对通过系统传输的每个数据项执行操作。

除了引擎自身的能力外,围绕Spark还建立了涵盖各种库的生态系统,可为机器学习、交互式查询等任务提供更好的支持。相比MapReduce,Spark任务更是“众所周知”地易于编写,我希望可大幅提高生产力。

在深入介绍不同实现的指标和结论之前 ,首先须要对不同避免类型的概念进行原本简单的介绍。

Bolt:Bolt代表须要消耗流数据,对其应用操作,并将结果以流的形式进行输出的避免步骤。Bolt须要与每个Spout建立连接,之前 相互连接以组成所有必要的避免。在拓扑的尾部,都也能使用最终的Bolt输出作为相互连接的这个系统的输入。

Samza与Kafka之间紧密的关系使得避免步骤五种都也能非常松散地耦合在一起。我太少 之前 协调,即可在输出的任何步骤中增加任意数量的订阅者,对于有多个团队须要访问这类数据的组织,这个 行态非常有用。多个团队都也能完整版订阅进入系统的数据话题,或任意订阅这个团队对数据进行过这个避免后创建一句话题。这个 切无须会对数据库等负载密集型基础架构造成额外的压力。

流避免能力是由Spark Streaming实现的。Spark五种在设计上主要面向批避免工作负载,为了弥补引擎设计和流避免工作负载行态方面的差异,Spark实现了五种叫做微批(Micro-batch)*的概念。在具体策略方面该技术都也能将数据流视作一系列非常小的“批”,借此即可通过批避免引擎的原生语义进行避免。

这个 流避免为先的法律土办法 也叫做Kappa架构,与之相对的是更加被广为人知的Lambda架构(该架构中使用批避免作为主要避免法律土办法 ,使用流作为补充并提供早期未经提炼的结果)。Kappa架构中会对一切进行流避免,借此对模型进行冗杂,而这个 切是在最近流避免引擎逐渐成熟期图片 的句子期的句子期期是什么期是什么是什么图片 后才可行的。

批避免在大数据世界有着悠久的历史。批避免主要操作大容量静态数据集,并在计算过程完成后返回结果。

总结

此外Flink的流避免能力还都也能理解“事件时间”这个 概念,这是指事件实际所处的时间,此外该功能还都也能避免会话。这愿因都也能通过五种有趣的法律土办法 确保执行顺序和分组。

为了实现严格的一次避免,即有状态避免,都也能使用五种名为Trident的抽象。严格来说不使用Trident的Storm通常可称之为Core Storm。Trident会对Storm的避免能力产生极大影响,会增加延迟,为避免提供状态,使用微批模式代替逐项避免的纯粹流避免模式。

总结

Spark是冗杂工作负载避免任务的最佳选折 。Spark批避免能力以更高内存占用为代价提供了无与伦比的速率单位优势。对于重视吞吐率而非延迟的工作负载,则比较适合使用Spark Streaming作为流避免避免方案。

使用Spark而非Hadoop MapReduce的主要愿因是速率单位。在内存计算策略和先进的DAG调度等机制的帮助下,Spark都也能用调慢速率单位避免相同的数据集。

Samza都也能使用以本地键值存储法律土办法 实现的容错检查点系统存储数据。原本Samza即可获得“相当于一次”的交付保障,但面对愿因数据愿因多次交付造成的失败,该技术无法对汇总后状态(这类计数)提供精确恢复。

混合避免系统:批避免和流避免

将计算而来的最终结果重新写入 HDFS

Apache Hadoop及其MapReduce避免引擎提供了一套久经考验的批避免模型,最适合避免对时间要求不高的非常大规模数据集。通过非常低成本的组件即可搭建完整版功能的Hadoop集群,使得这个 廉价且高效的避免技术都也能灵活应用在什么都案例中。与这个框架和引擎的兼容与集成能力使得Hadoop都也能成为使用不同技术的多种工作负载避免平台的底层基础。

仅批避免框架:

为流避免系统采用批避免的法律土办法 ,须要对进入系统的数据进行缓冲。缓冲机制使得该技术都也能避免非常絮状的传入数据,提高整体吞吐率,但停留缓冲区清空也会愿因延迟增高。这愿因Spark Streaming愿因不适合避免对延迟有较高要求的工作负载。

对于延迟需求很高的纯粹的流避免工作负载,Storm愿因是最适合的技术。该技术都也能保证每条消息都被避免,可配合多种编程语言使用。愿因Storm无法进行批避免,愿因须要哪几种能力愿因还须要使用这个软件。愿因对严格的一次避免保证有比较高的要求,此时可考虑使用Trident。不过这个 状态下这个流避免框架他说更适合。

YARN:YARN是Yet Another Resource Negotiator(原本资源管理器)的缩写,可充当Hadoop堆栈的集群协调组件。该组件负责协调并管理底层资源和调度作业的运行。通过充当集群资源的接口,YARN使得用户能在Hadoop集群中使用比以往的迭代法律土办法 运行更多类型的工作负载。

Trident拓扑涵盖:

批避免模式中使用的数据集通常符合下列行态…

Apache Spark是五种涵盖流避免能力的下一代批避免框架。与Hadoop的MapReduce引擎基于各种相同原则开发而来的Spark主要侧重于通过完善的内存计算和避免优化机制加快批避免工作负载的运行速率单位。

着实 负责避免生命周期内这个 阶段数据的系统通常都很冗杂,但从广义层面来看它们的目标是非常一致的:通过对数据执行操作提高理解能力,揭示出数据涵盖的模式,并针对冗杂互动获得见解。

本文作者:Justin Ellingwood

须要避免絮状数据的任务通常最适合用批避免操作进行避免。无论直接从持久存储设备避免数据集,或首先将数据集载入内存,批避免系统在设计过程中就充分考虑了数据的量,可提供富于的避免资源。愿因批避免在应对絮状持久数据方面的表现极为出色,我希望经常 被用于对历史数据进行分析。

Flink都也能对批避免工作负载实现一定的优化。这类愿因批避免操作可通过持久存储加以支持,Flink都也能不对批避免工作负载创建快照。数据依然都也能恢复,但常规避免操作都也能执行得调慢。

流避免中的数据集是“无边界”的,这就产生了几个重要的影响:

在之前 的文章中,他们 原本介绍过有关大数据系统的常规概念、避免过程,以及各种专门术语,本文将介绍大数据系统原本最基本的组件:避免框架。避免框架负责对系统中的数据进行计算,这类避免从非易失存储中读取的数据,或避免之前 摄入到系统中的数据。数据的计算则是指从絮状单一数据点中提取信息和见解的过程。

Apache Flink是五种都也能避免批避免任务的流避免框架。该技术可将批避免数据视作具备有限边界的数据流,借此将批避免任务作为流避免的子集加以避免。为所有避免任务采取流避免为先的法律土办法 会产生一系列有趣的副作用。

流避免模式

Spark的原本重要优势在于多样性。该产品可作为独立集群部署,或与现有Hadoop集群集成。该产品可运行批避免和流避免,运行原本集群即可避免不这类型的任务。

流避免系统都也能避免几乎无限量的数据,但同一时间也能避免两根(真正的流避免)或很絮状(微批避免,Micro-batch Processing)数据,不同记录间只维持相当于量的状态。着实 大每项系统提供了用于维持这个状态的法律土办法 ,但流避免主要针对副作用更少,更加功能性的避免(Functional processing)进行优化。

针对每个节点上的数据子集进行计算(计算的上面态结果会重新写入HDFS)

MapReduce:MapReduce是Hadoop的原生批避免引擎。

Spark可作为独立集群部署(须要相应存储层的配合),或可与Hadoop集成并取代MapReduce引擎。

Core Storm无法保证消息的避免顺序。Core Storm为消息提供了“相当于一次”的避免保证,这愿因都也能保证每条消息都能被避免,但也愿因所处重复。Trident提供了严格的一次避免保证,都也能在不同批之间提供顺序避免,但无法在原本批组织组织结构实现顺序避免。

在用户工具方面,Flink提供了基于Web的调度视图,借此可轻松管理任务并查看系统状态。用户也都也能查看已提交任务的优化方案,借此了解任务最终是怎样才能在集群中实现的。对于分析类任务,Flink提供了这类SQL的查询,图形化避免,以及机器学习库,此外还支持内存计算。

这个 对Kafka的紧密依赖在什么都方面这类于MapReduce引擎对HDFS的依赖。着实 在批避免的每个计算之间对HDFS的依赖愿因了这个严重的性能问题,但也避免了流避免遇到的什么都这个问题。

着实 侧重于某五种避免类型的项目会更好地满足具体用例的要求,但混合框架意在提供五种数据避免的通用避免方案。这个 框架不仅都也能提供避免数据所需的法律土办法 ,我希望提供了个人的集成项、库、工具,可胜任图形分析、机器学习、交互式查询等多种任务。

将数据集拆分成小块并分配给所有可用节点

对于仅须要流避免的工作负载,Storm可支持更广泛的语言并实现极低延迟的避免,但默认配置愿因产生重复结果我希望无法保证顺序。Samza与YARN和Kafka紧密集成可提供更大灵活性,更易用的多团队使用,以及更简单的克隆和状态管理。

与MapReduce不同,Spark的数据避免工作完整版在内存中进行,只在一开始英文英文将数据读入内存,以及将最终结果持久存储时须要与存储层交互。所有上面态的避免结果均存储在内存中。

Spark内存计算这个 设计的原本后果是,愿因部署在共享的集群中愿因会遇到资源过高 的问题。相比Hadoop MapReduce,Spark的资源消耗更大,愿因会对须要在同一时间使用集群的这个任务产生影响。从本质来看,Spark更不适合与Hadoop堆栈的这个组件共存一处。

Flink能很好地与这个组件配合使用。愿因配合Hadoop 堆栈使用,该技术都也能很好地融入整个环境,在任何之前 都只占用必要的资源。该技术可轻松地与YARN、HDFS和Kafka 集成。在兼容包的帮助下,Flink还都也能运行为这个避免框架,这类Hadoop和Storm编写的任务。

批避免模式

优势和局限

Producer(生成方):任何向Kafka话题写入数据的组件都也能叫做生成方。生成方可提供将话题划分为分区所需的键。

Flink的批避免模型在很大程度上仅仅是对流避免模型的扩展。此时模型不再从持续流中读取数据,我希望从持久存储中以流的形式读取有边界的数据集。Flink会对哪几种避免模型使用完整版相同的运行时。

愿因Kafka相当于永恒不变的日志,Samza也须要避免永恒不变的数据流。这愿因任何转换创建的新数据流都可被这个组件所使用,而我太少 对最初的数据流产生影响。

大数据系统可使用多种避免技术。

流避免模式

总结

总结

此类避免非常适合这个类型的工作负载。有近实时避免需求的任务很适合使用流避免模式。分析、服务器或应用tcp连接错误日志,以及这个基于时间的衡量指标是最适合的类型,愿因对哪几种领域的数据变化做出响应对于业务职能来说是极为关键的。流避免很适合用来避免须要对变动或峰值做出响应,我希望关注一段时间内变化趋势的数据。

总结

HDFS:HDFS是五种分布式文件系统层,可对集群节点间的存储和克隆进行协调。HDFS确保了无法避免的节点故障所处后数据依然可用,可将其用作数据来源,可用于存储上面态的避免结果,并可存储计算的最终结果。

这类Kafka愿因提供了都也能通过高 延迟法律土办法 访问的数据存储副本,此外还都也能为每个数据分区提供非常易用且低成本的多订阅者模型。所有输出内容,包括上面态的结果都可写入到Kafka,并可被下游步骤独立使用。

对于愿因具备或易于实现Hadoop和Kafka的环境,Apache Samza是流避免工作负载原本很好的选折 。Samza五种很适合有多个团队须要使用(但相互之间无须一定紧密协调)不同避免阶段的多个数据流的组织。Samza可大幅冗杂什么都流避免工作,可实现低延迟的性能。愿因部署需求与当前系统不兼容,他说无须适合使用,但愿因须要极低延迟的避免,或对严格的一次避免语义有较高需求,此时依然适合考虑。

Consumer(消耗方):任何从Kafka读取话题的组件可叫做消耗方。消耗方须要负责维持有关个人分支的信息,原本即可在失败后知道哪几种记录愿因被避免过了。

Storm的流避免可对框架中名为Topology(拓扑)的DAG(Directed Acyclic Graph,有向无环图)进行编排。哪几种拓扑描述了当数据片段进入系统后,须要对每个传入的片段执行的不同转换或步骤。

避免工作是基于事件的,除非明确停止我希望那末“尽头”。避免结果立刻可用,并会随着新数据的抵达继续更新。

这类Apache Hadoop都也能看作五种以MapReduce作为默认避免引擎的避免框架。引擎和框架通常都也能相互替换或一起使用。这类原本框架Apache Spark都也能纳入Hadoop并取代MapReduce。组件之间的这个 互操作性是大数据系统灵活性那末之高的愿因之一。

批避免模式

Partition(分区):为了将原本话题分散至多个节点,Kafka会将传入的消息划分为多个分区。分区的划分将基于键(Key)进行,原本都也能保证涵盖同原本键的每条消息都也能划分至同原本分区。分区的顺序可获得保证。

最适合的避免方案主要取决于待避免数据的状态,对避免所需时间的需求,以及希望得到的结果。具体是使用全功能避免方案或主要侧重于五种项目的避免方案,这个 问题须要慎重权衡。随着逐渐成熟期图片 的句子期的句子期期是什么期是什么是什么图片 并被广泛接受,在评估任何新再次出现的创新型避免方案时都须要考虑这类的问题。

拓扑涵盖:

这个避免框架可一起避免批避免和流避免工作负载。哪几种框架都也能用相同或相关的组件和API避免五种类型的数据,借此让不同的避免需求得以冗杂。

目前来说Storm愿因是近实时避免领域的最佳避免方案。该技术都也能用极低延迟避免数据,可用于希望获得最低延迟的工作负载。愿因避免速率单位直接影响用户体验,这类须要将避免结果直接提供给访客打开的网站页面,此时Storm愿因是原本很好的选折 。

来源:51CTO

Flink目前是避免框架领域原本独特的技术。着实 Spark也都也能执行批避免和流避免,但Spark的流避免采取的微批架构使其无法适用于什么都用例。Flink流避免为先的法律土办法 可提供低延迟,高吞吐率,近乎逐项避免的能力。

优势和局限

MapReduce的学习曲线较为陡峭,着实 Hadoop生态系统的这个俯近技术都也能大幅降低这个 问题的影响,但通过Hadoop集群快速实现这个应用时依然须要注意这个 问题。

仅流避免框架:

对于仅须要批避免的工作负载,愿因对时间不敏感,比这个避免方案实现成本更低的Hadoop愿因是原本好选折 。

优势和局限

重新分配上面态结果并按照键进行分组

流避免模型

操作(Operation):是指都也能对数据执行的批避免过程。

避免框架和避免引擎负责对数据系统中的数据进行计算。着实 “引擎”和“框架”之间的区别那末哪几种权威的定义,但大每项之前 都也能将前者定义为实际负责避免数据操作的组件,后者则可定义为承担这类作用的一系列组件。

Storm背后的想法是使用上述组件定义絮状小型的离散操作,之前 将多个组件组成所需拓扑。默认状态下Storm提供了“相当于一次”的避免保证,这愿因都也能确保每条消息相当于都也能被避免一次,但这个状态下愿因遇到失败愿因会避免多次。Storm无法确保都也能按照特定顺序避免消息。

在互操作性方面,Storm可与Hadoop的YARN资源管理器进行集成,我希望都也能很方便地融入现有Hadoop部署。除了支持大每项避免框架,Storm还可支持多种语言,为用户的拓扑定义提供了更多选折 。

通过对每个节点计算的结果进行汇总和组合对每个键的值进行“Reducing”