通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 1720|回复: 0
打印

Spark Streaming VS Flink [复制链接]

军衔等级:

  新兵

注册:2013-8-7
跳转到指定楼层
1#
发表于 2021-6-29 17:11:45 |只看该作者 |倒序浏览
Micro Batching 模式(Spark)
该计算模式认为流是批的特例,流计算就是连续不断的批进行持续计算,但是该计算模式在一定程度上可以满足99%的实时计算场景,在该模式的架构实现上有一个自然流数据进入系统进行攒批的过程,这样就增加了延迟。

可以看出,把输入流分割成微小的批次,然后一个批次一个批次的处理,一个批次一个批次的输出。

Native Streaming 模式(Flink)
该计算模式认为批是流的特例,其是将每条数据都进行计算,这种计算模式很自然,并且延迟性能更低,

数据模型

Spark最早使用的是RDD模型,这个比MapReduce快了100倍的计算模型有着显著的优势。对Hadoop生态大幅升级换代。RDD弹性数据集是分割为固定大小的批数据。

Spark Streaming里的DStream和RDD模型类似,把一个实时进来的无线数据分割为一个小批数据集合DStream,定时器定时通知系统去处理这些微批数据。然而,API少,无法胜任复杂的流计算业务,调大吞吐量而不触发背压是个体力活,不支持乱序处理。


Flink的基本数据模型是数据流,及事件(Event)的序列。数据流作为数据的基本模型可能没有表或者数据块的直观熟悉,但是可以证明是完全等效的。流可以是无边界的无限流,即所谓的流处理。可以说,有边界的有限流,这样就是批处理。

Flink采用Dataflow模型,和Lambda模式不同。Dataflow是纯粹的节点组成的一个图,图中的节点可以执行流计算、批计算、机器学习算法,流数据在节点间流动,被节点上的处理函数实时apply处理,节点间使用Netty连接起来的。两个Netty间Keepalive,网络Buffer是自然反压的关键。经过逻辑优化和物理优化,Dadaflow的逻辑关系和运行的物理拓扑相差不大。这种纯粹的流式设计,时延和吞吐理论山是最优的。



举报本楼

您需要登录后才可以回帖 登录 | 注册 |

版规|手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2025-9-6 17:33 , Processed in 0.108439 second(s), 17 queries , Gzip On.

Copyright © 1999-2025 C114 All Rights Reserved

Discuz Licensed

回顶部