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

  • 时间:
  • 浏览:0
  • 来源:大发彩神8官网—大发彩神8快3

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

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

总结

Trident拓扑涵盖:

Samza与Kafka之间紧密的关系使得补救步骤三种生活都都可不后能 非常松散地耦合在一同。不用然后协调,即可在输出的任何步骤中增加任意数量的订阅者,对于有多个团队需用访问类式数据的组织,你类式形态学 非常有用。多个团队都都可不后能 全部订阅进入系统的数据话题,或任意订阅有些团队对数据进行过有些补救后创建语录题。你类式切从不用对数据库等负载密集型基础架构造成额外的压力。

Flink能很好地与有些组件配合使用。将会配合Hadoop 堆栈使用,该技术都都可不后能 很好地融入整个环境,在任何然后都只占用必要的资源。该技术可轻松地与YARN、HDFS和Kafka 集成。在兼容包的帮助下,Flink还都都可不后能 运行为有些补救框架,类式Hadoop和Storm编写的任务。

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

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

Apache Storm是三种生活侧重于极低延迟的流补救框架,是我不好是要求近实时补救的工作负载的最佳选折 。该技术可补救非常血块的数据,通过比有些补救方案更低的延迟提供结果。

总结

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

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

对于仅需用批补救的工作负载,将会对时间不敏感,比有些补救方案实现成本更低的Hadoop将会是从前好选折 。

你类式对Kafka的紧密依赖在过深过深 方面类式于MapReduce引擎对HDFS的依赖。觉得在批补救的每个计算之间对HDFS的依赖意味了有些严重的性能问题 ,但也补救了流补救遇到的过深过深 有些问题 。

Storm肩上的想法是使用上述组件定义血块小型的离散操作,然后 将多个组件组成所需拓扑。默认情况下Storm提供了“大约一次”的补救保证,这意味都都可不后能 确保每条消息大约都都可不后能 被补救一次,但有些情况下将会遇到失败将会会补救多次。Storm无法确保都都可不后能 按照特定顺序补救消息。

本文作者:Justin Ellingwood

目前Flink最大的局限之一在于这依然是从前非常“年幼”的项目。现实环境中该项目的大规模部署尚不如有些补救框架没法 常见,对于Flink在缩放能力方面的局限目前也没法 较为深入的研究。随着快速开发周期的推进和兼容包等功能的完善,当过深的组织结束了尝试时,将会会老要出现过深的Flink部署。

MapReduce的学习曲线较为陡峭,觉得Hadoop生态系统的有些附进技术都都可不后能 大幅降低你类式问题 的影响,但通过Hadoop集群快速实现有些应用时依然需用注意你类式问题 。

使用Spark而非Hadoop MapReduce的主要意味是强度。在内存计算策略和先进的DAG调度等机制的帮助下,Spark都都可不后能 用放慢强度补救相同的数据集。

Storm与Trident配合使得用户都都可不后能 用微批代替纯粹的流补救。觉得借此用户都都可不后能 获得更大灵活性打造更符合要求的工具,但一同你类式做法会削弱该技术相比有些补救方案最大的优势。话虽没法 ,但多三种生活流补救辦法 老要好的。

如你所见,你类式形态学 主过深过深 我由Spark和Flink实现的,下文将介绍你类式种生活框架。实现从前的功能重点在于三种生活不同补救模式咋样进行统一,以及要对固定和不固定数据集之间的关系进行何种假设。

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

Flink的过深过深 组件是自行管理的。觉得你类式做法较为罕见,但出于性能方面的意味,该技术可自行管理内存,不用依赖原生的Java垃圾回收机制。与Spark不同,待补救数据的形态学 趋于稳定变化后Flink不用手工优化和调整,但会 该技术也都都可不后能 自行补救数据分区和自动缓存等操作。

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

总结

在深入介绍不同实现的指标和结论然后,首先需用对不同补救类型的概念进行从前简单的介绍。

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

Flink的流补救模型在补救传入数据一定会将每一项视作真正的数据流。Flink提供的DataStream API可用于补救无尽的数据流。Flink可配合使用的基本组件包括:

Apache Hadoop

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

流补救中的数据集是“无边界”的,这就产生了好多个重要的影响:

对于延迟需求很高的纯粹的流补救工作负载,Storm将会是最适合的技术。该技术都都可不后能 保证每条消息都被补救,可配合多种编程语言使用。将会Storm无法进行批补救,将会需用那先 能力将会还需用使用有些软件。将会对严格的一次补救保证有比较高的要求,此时可考虑使用Trident。不过你类式情况下有些流补救框架是我不好更适合。

Spark Streaming会以亚秒级增量对流进行缓冲,然后 那先 缓冲会作为小规模的固定数据集进行批补救。你类式辦法 的实际效果非常好,但相比真正的流补救框架在性能方面依然趋于稳定趋于稳定问题。

对于仅需用流补救的工作负载,Storm可支持更广泛的语言并实现极低延迟的补救,但默认配置将会产生重复结果但会 无法保证顺序。Samza与YARN和Kafka紧密集成可提供更大灵活性,更易用的多团队使用,以及更简单的克隆qq和情况管理。

优势和局限

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

下文将介绍那先 框架:

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

将会内存通常比磁盘空间更贵,但会 相比基于磁盘的系统,Spark成本更高。然而补救强度的提升意味都都可不后能 放慢速完成任务,在需用按照小时数为资源付费的环境中,你类式形态学 通常都都可不后能 抵消增加的成本。

将会你类式辦法 严重依赖持久存储,每个任务需用多次执行读取和写入操作,但会 强度相对较慢。但当事人面将会磁盘空间通常是服务器上最丰厚的资源,这意味MapReduce都都可不后能 补救非常海量的数据集。一同也意味相比有些类式技术,Hadoop的MapReduce通常都都可不后能 在廉价硬件上运行,将会该技术从不需用将一切都存储在内存中。MapReduce具备极高的缩放潜力,生产环境中从前老要出现过涵盖数万个节点的应用。

Flink提供了低延迟流补救,一同可支持传统的批补救任务。Flink是我不好最适合有极高流补救需求,并有血块批补救任务的组织。该技术可兼容原生Storm和Hadoop守护进程,可在YARN管理的集群上运行,但会 都都可不后能 很方便地进行评估。快速进展的开发工作使其值得被我们都我们都关注。

Flink目前是补救框架领域从前独特的技术。觉得Spark也都都可不后能 执行批补救和流补救,但Spark的流补救采取的微批架构使其无法适用于过深过深 用例。Flink流补救为先的辦法 可提供低延迟,高吞吐率,近乎逐项补救的能力。

你类式流补救为先的辦法 也叫做Kappa架构,与之相对的是更加被广为人知的Lambda架构(该架构中使用批补救作为主要补救辦法 ,使用流作为补充并提供早期未经提炼的结果)。Kappa架构中会对一切进行流补救,借此对模型进行复杂性,而你类式切是在最近流补救引擎逐渐心智性心智心智成熟是什么是什么是什么后才可行的。

为补救那先 问题 ,通常建议Storm用户尽将会使用Core Storm。然而也要注意,Trident对内容严格的一次补救保证在有些情况下也比较有用,类式系统无法智能趋于稳定理重复消息时。将会需用在项之间维持情况,类式想要 计算从前小时内有好多个用户点击了某个链接,此时Trident将是你唯一的选折 。尽管非要充埋点挥框架和化俱来的优势,但Trident提高了Storm的灵活性。

Samza都都可不后能 使用以本地键值存储辦法 实现的容错检查点系统存储数据。从前Samza即可获得“大约一次”的交付保障,但面对将会数据将会多次交付造成的失败,该技术无法对汇总后情况(类式计数)提供精确恢复。

与MapReduce不同,Spark的数据补救工作全部在内存中进行,只在一结束了将数据读入内存,以及将最终结果持久存储需用用与存储层交互。所有上面态的补救结果均存储在内存中。

MapReduce:MapReduce是Hadoop的原生批补救引擎。

批补救非常适合需用访问全套记录都可不后能 完成的计算工作。类式在计算总数和平均数时,需用将数据集作为从前整体加以补救,而非要将其视作多条记录的集合。那先 操作要求在计算进行过程中数据维持当事人的情况。

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

Apache Samza是三种生活与Apache Kafka消息系统紧密绑定的流补救框架。觉得Kafka可用于过深过深 流补救系统,但按照设计,Samza都都可不后能 更好地发挥Kafka独特的架构优势和保障。该技术可通过Kafka提供容错、缓冲,以及情况存储。

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

批补救模式

操作(Operation):是指都都可不后能 对数据执行的批补救过程。

Spark内存计算你类式设计的从前后果是,将会部署在共享的集群中将会会遇到资源趋于稳定问题的问题 。相比Hadoop MapReduce,Spark的资源消耗更大,将会会对需用在同一时间使用集群的有些任务产生影响。从本质来看,Spark更不适合与Hadoop堆栈的有些组件共存一处。

混合补救系统:批补救和流补救

工作数据集是我不好更相关,在特定时间非要代表某个单一数据项。

Samza可使用YARN作为资源管理器。这意味默认情况下需用具备Hadoop集群(大约具备HDFS和YARN),但一同也意味Samza都都可不后能 直接使用YARN丰厚的内建功能。

需用补救血块数据的任务通常最适合用批补救操作进行补救。无论直接从持久存储设备补救数据集,或首先将数据集载入内存,批补救系统在设计过程中就充分考虑了数据的量,可提供丰厚的补救资源。将会批补救在应对血块持久数据方面的表现极为出色,但会 老要被用于对历史数据进行分析。

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

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

从前优化是对批补救任务进行分解,从前即可在需用的然后调用不同阶段和组件。借此Flink都都可不后能 与集群的有些用户更好地共存。对任务提前进行分析使得Flink都都可不后能 查看需用执行的所有操作、数据集的大小,以及下游需用执行的操作步骤,借此实现进一步的优化。

Consumer(消耗方):任何从Kafka读取话题的组件可叫做消耗方。消耗方需用负责维持有关当事人分支的信息,从前即可在失败后知道那先 记录将会被补救过了。

优势和局限

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

流补救系统都都可不后能 补救几乎无限量的数据,但同一时间非要补救三根(真正的流补救)或很血块(微批补救,Micro-batch Processing)数据,不同记录间只维持大约量的情况。觉得大每项系统提供了用于维持有些情况的辦法 ,但流补救主要针对副作用更少,更加功能性的补救(Functional processing)进行优化。

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

优势和局限

血块数据的补救需用付出血块时间,但会 批补救不适合对补救时间要求较高的场合。

此类补救非常适合有些类型的工作负载。有近实时补救需求的任务很适合使用流补救模式。分析、服务器或应用守护进程错误日志,以及有些基于时间的衡量指标是最适合的类型,将会对那先 领域的数据变化做出响应对于业务职能来说是极为关键的。流补救很适合用来补救需用对变动或峰值做出响应,但会 关注一段时间内变化趋势的数据。

拓扑涵盖:

围绕Hadoop将会形成了辽阔的生态系统,Hadoop集群三种生活也老要被用作有些软件的组成部件。过深过深 有些补救框架和引擎通过与Hadoop集成也都都可不后能 使用HDFS和YARN资源管理器。

乍看之下,Samza对Kafka类查询系统的依赖似乎是三种生活限制,然而这也都都可不后能 为系统提供有些独特的保证和功能,那先 内容也是有些流补救系统不具备的。

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

优势和局限

最适合的补救方案主要取决于待补救数据的情况,对补救所需时间的需求,以及希望得到的结果。具体是使用全功能补救方案或主要侧重于三种生活项目的补救方案,你类式问题 需用慎重权衡。随着逐渐心智性心智心智成熟是什么是什么是什么并被广泛接受,在评估任何新老要出现的创新型补救方案时都需用考虑类式的问题 。

有些补救框架可一同补救批补救和流补救工作负载。那先 框架都都可不后能 用相同或相关的组件和API补救三种生活类型的数据,借此让不同的补救需求得以复杂性。

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

Flink的批补救模型在很大程度上仅仅是对流补救模型的扩展。此时模型不再从持续流中读取数据,过深过深 我从持久存储中以流的形式读取有边界的数据集。Flink会对那先 补救模型使用全部相同的运行时。

总结

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

仅流补救框架:

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

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

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

从HDFS文件系统读取数据集

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

补救框架和补救引擎负责对数据系统中的数据进行计算。觉得“引擎”和“框架”之间的区别没法 那先 权威的定义,但大每项过都都可不里后能 将前者定义为实际负责补救数据操作的组件,后者则可定义为承担类式作用的一系列组件。

Apache Flink是三种生活都都可不后能 补救批补救任务的流补救框架。该技术可将批补救数据视作具备有限边界的数据流,借此将批补救任务作为流补救的子集加以补救。为所有补救任务采取流补救为先的辦法 会产生一系列有趣的副作用。

此外Flink的流补救能力还都都可不后能 理解“事件时间”你类式概念,这是指事件实际趋于稳定的时间,此外该功能还都都可不后能 补救会话。这意味都都可不后能 通过三种生活有趣的辦法 确保执行顺序和分组。

类式Kafka将会提供了都都可不后能 通趋于稳定问题延迟辦法 访问的数据存储副本,此外还都都可不后能 为每个数据分区提供非常易用且低成本的多订阅者模型。所有输出内容,包括上面态的结果都可写入到Kafka,并可被下游步骤独立使用。

流补救模式

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

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

流补救模型

Flink都都可不后能 对批补救工作负载实现一定的优化。类式将会批补救操作可通过持久存储加以支持,Flink都都可不后能 不对批补救工作负载创建快照。数据依然都都可不后能 恢复,但常规补救操作都都可不后能 执行得放慢。

全部数据集非要代表截至目前将会进入到系统中的数据总量。

批补救模式中使用的数据集通常符合下列形态学 …

功能性操作主要侧重于情况或副作用有限的离散步骤。针对同从前数据执行同从前操作会或略有些因素产生相同的结果,此类补救非常适合流补救,将会不同项的情况通常是有些困难、限制,以及有些情况下不需用的结果的结合体。但会 觉得有些类型的情况管理通常是可行的,但那先 框架通常在不具备情况管理机制时更简单也更高效。

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

来源:51CTO

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

为流补救系统采用批补救的辦法 ,需用对进入系统的数据进行缓冲。缓冲机制使得该技术都都可不后能 补救非常血块的传入数据,提高整体吞吐率,但在等待缓冲区清空也会意味延迟增高。这意味Spark Streaming将会不适合补救对延迟有较高要求的工作负载。

觉得侧重于某三种生活补救类型的项目会更好地满足具体用例的要求,但混合框架意在提供三种生活数据补救的通用补救方案。你类式框架不仅都都可不后能 提供补救数据所需的辦法 ,但会 提供了当事人的集成项、库、工具,可胜任图形分析、机器学习、交互式查询等多种任务。

流补救系统

Samza依赖Kafka的语义定义流的补救辦法 。Kafka在补救数据时涉及下列概念:

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

总结

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

为了复杂性那先 组件的讨论,我们都我们都会通过不同补救框架的设计意图,按照趋于稳定理的数据情况对其进行分类。有些系统都都可不后能 用批补救辦法 补救数据,有些系统都都可不后能 用流辦法 补救连续不断流入系统的数据。此外还有有些系统都都可不后能 一同补救这两类数据。

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

Spout:趋于稳定拓扑边缘的数据流来源,类式都都可不后能 是API或查询等,从这都都可不里后能 产生待补救的数据。

目前来说Storm将会是近实时补救领域的最佳补救方案。该技术都都可不后能 用极低延迟补救数据,可用于希望获得最低延迟的工作负载。将会补救强度直接影响用户体验,类式需用将补救结果直接提供给访客打开的网站页面,此时Storm将会是从前很好的选折 。

混合框架:

流补救系统会对随时进入系统的数据进行计算。相比批补救模式,这是三种生活截然不同的补救辦法 。流补救辦法 不用针对整个数据集执行操作,过深过深 我对通过系统传输的每个数据项执行操作。

流补救模式

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

批补救系统

批补救模式

大数据系统可使用多种补救技术。

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

觉得内存中补救辦法 可大幅改善性能,Spark在补救与磁盘有关的任务时强度需用很大提升,将会通过提前对整个任务集进行分析都都可不后能 实现更完善的整体式优化。为此Spark可创建代表所需执行的全部操作,需用操作的数据,以及操作和数据之间关系的Directed Acyclic Graph(有向无环图),即DAG,借此补救器都都可不后能 对任务进行更智能的协调。

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

仅批补救框架:

直接写入Kafka还可补救回压(Backpressure)问题 。回压是指当负载峰值意味数据流入强度超过组件实时补救能力的情况,你类式情况将会意味补救工作停顿并将会丢失数据。按照设计,Kafka都都可不后能 将数据保存很长时间,这意味组件都都可不后能 在方便的然后继续进行补救,并可直接重启动而不用担心造成任何后果。

Core Storm无法保证消息的补救顺序。Core Storm为消息提供了“大约一次”的补救保证,这意味都都可不后能 保证每条消息都能被补救,但也将会趋于稳定重复。Trident提供了严格的一次补救保证,都都可不后能 在不同批之间提供顺序补救,但无法在从前批结构实现顺序补救。

优势和局限

对于将会具备或易于实现Hadoop和Kafka的环境,Apache Samza是流补救工作负载从前很好的选折 。Samza三种生活很适合有多个团队需用使用(但相互之间从不一定紧密协调)不同补救阶段的多个数据流的组织。Samza可大幅复杂性过深过深 流补救工作,可实现低延迟的性能。将会部署需求与当前系统不兼容,是我不好从不适合使用,但将会需用极低延迟的补救,或对严格的一次补救语义有较高需求,此时依然适合考虑。

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

流补救模式

类式Apache Hadoop都都可不后能 看作三种生活以MapReduce作为默认补救引擎的补救框架。引擎和框架通常都都可不后能 相互替换或一同使用。类式从前框架Apache Spark都都可不后能 纳入Hadoop并取代MapReduce。组件之间的你类式互操作性是大数据系统灵活性没法 之高的意味之一。

批补救模型

补救工作是基于事件的,除非明确停止但会 没法 “尽头”。补救结果立刻可用,并会随着新数据的抵达继续更新。

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

将会Kafka大约永恒不变的日志,Samza也需用补救永恒不变的数据流。这意味任何转换创建的新数据流都可被有些组件所使用,而不用对最初的数据流产生影响。