Flink和Spark的区别

1、设计理念不同

flink:Flink是基于事件驱动的,是面向流的处理框架, Flink基于每个事件一行一行地流式处理,是真正的流式计算. 另外他也可以基于流来模拟批进行计算实现批处理。

spark:Spark的技术理念是使用微批来模拟流的计算,基于Micro-batch,数据流以时间为单位被切分为一个个批次,通过分布式数据集RDD进行批量处理,是一种伪实时。

2、架构不同

flink:Flink 在运行时主要包含:Jobmanager、Taskmanager和Slot。

spark:Spark在运行时的主要角色包括:Master、Worker、Driver、Executor。

3、任务调度不同

flink:Flink 根据用户提交的代码生成 StreamGraph,经过优化生成 JobGraph,然后提交给 JobManager进行处理,JobManager 会根据 JobGraph 生成 ExecutionGraph,ExecutionGraph 是 Flink 调度最核心的数据结构,JobManager 根据 ExecutionGraph 对 Job 进行调度。

spark:Spark Streaming 连续不断的生成微小的数据批次,构建有向无环图DAG,根据DAG中的action操作形成job,每个job有根据窄宽依赖生成多个stage。

4、时间机制不同

flink:flink支持三种时间机制:事件时间,注入时间,处理时间,同时支持 watermark 机制处理迟到的数据,说明Flink在处理乱序大实时数据的时候,更有优势。

spark:Spark Streaming 支持的时间机制有限,只支持处理时间。使用processing time模拟event time必然会有误差, 如果产生数据堆积的话,误差则更明显。

5、容错机制不同

flink:Flink 则使用两阶段提交协议来保证exactly once。

spark:Spark Streaming的容错机制是基于RDD的容错机制,会将经常用的RDD或者对宽依赖加Checkpoint。利用SparkStreaming的direct方式与Kafka可以保证数据输入源的,处理过程,输出过程符合exactly once。

6、吞吐量与延迟不同

flink:Flink是基于事件的,消息逐条处理,而且他的容错机制很轻量级,所以他能在兼顾高吞吐量的同时又有很低的延迟,它的延迟能够达到毫秒级;

spark:spark是基于微批的,而且流水线优化做的很好,所以说他的吞入量是最大的,但是付出了延迟的代价,它的延迟是秒级;

7、状态不同

flink:flink是事件驱动型应用是一类具有状态的应用,我们要把它看成一个个event记录去处理,当遇到窗口时会进行阻塞等待,窗口的聚合操作是无状态的。过了窗口后DataStream的算子聚合操作就是有状态的操作了,所以flink要把聚合操作都放到窗口操作之前,才能进行无状态的聚合操作。而spark全程都是无状态的,所以在哪聚合都可以。

spark:spark本身是无状态的,所以我们可以把它看成一个rdd一个算子一个rdd的去处理,就是说可以看成分段处理。

8、数据不同

flink:在flink的世界观中,一切都是由流组成的,离线数据是有界限的流,实时数据是一个没有界限的流,这就是所谓的有界流和无界流。流处理的特点是无界、实时, 无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作,一般用于实时统计。

spark:在spark的世界观中,一切都是由批次组成的,离线数据是一个大批次,而实时数据是由一个一个无限的小批次组成的。批处理的特点是有界、持久、大量,非常适合需要访问全套记录才能完成的计算工作,一般用于离线统计。

有界数据流和无界数据流

无界数据流:无界数据流有一个开始但是没有结束,它们不会在生成时终止并提供数据,必须连续处理无界流,也就是说必须在获取后立即处理event。对于无界数据流我们无法等待所有数据都到达,因为输入是无界的,并且在任何时间点都不会完成。处理无界数据通常要求以特定顺序(例如事件发生的顺序)获取event,以便能够推断结果完整性。

有界数据流:有界数据流有明确定义的开始和结束,可以在执行任何计算之前通过获取所有数据来处理有界流,处理有界流不需要有序获取,因为可以始终对有界数据集进行排序,有界流的处理也称为批处理。

相关推荐
2601_949499947 小时前
400G组网低功耗优选!芯瑞科技400G VR4 QSFP112光模块赋能智算中心高速互联
大数据·人工智能·科技
阿里云大数据AI技术10 小时前
淘天集团基于 Fluss、Paimon 与 StarRocks 构建湖流一体数据链路
大数据·人工智能·flink
用户36105886261210 小时前
Spark 核心之 RDD 窄依赖与宽依赖详解
spark
RFID固定资产管理系统10 小时前
适配媒体行业的固定资产管理软件有哪些功能与核心优势
大数据·人工智能·python·媒体
lupai12 小时前
手机归属地查询 API 新手接入指南
大数据·智能手机·api接口
数据皮皮侠AI12 小时前
上市公司数字供应链金融指数(2010-2024)
大数据·人工智能·算法
ACP广源盛1392462567313 小时前
DeepSeek‑V4‑Flash 公测@ACP#昇腾 950 国产算力组合落地,国产 PCIe 交换芯片 IX9104 有哪些硬件机会
大数据·数据库·人工智能·分布式·单片机·嵌入式硬件·microsoft
2601_9494999414 小时前
芯瑞科技400G VR4 QSFP-DD光模块:低功耗高密短距互联方案,赋能AI智算中心算力网络升级
大数据·运维·网络·人工智能·科技·光模块
Raas10015 小时前
MAIGateway,魔芋企业级AI网关的FinAPI成本归因设计
大数据·人工智能·网关·api网关·finapi
Pokerhead15 小时前
一个 Codex,能装下所有 AI 模型?
大数据·人工智能·ai·大模型·ai编程·codex