八股系列 Flink

作者 : admin 本文共630个字,预计阅读时间需要2分钟 发布时间: 2024-06-16 共1人阅读

Flink 和 SparkStreaming的区别

设计理念方面

SparkStreaming:使用微批次来模拟流计算,数据已时间为单位分为一个个批次,通过RDD进行分布式计算

Flink:基于事件驱动,是面向流的处理框架,是真正的流式计算

架构方面

SparkStreaming:角色包括 Master、Worker、Driver、Executor

Flink:角色包括 Jonmanager、Taskmanager和slot

窗口计算方面

SparkStreaming:只支持基于处理时间的窗口操作

Flink:可以支持时间窗口,也支持基于事件的窗口如滑动、滚动、会话窗口等

时间机制方面

SparkStreaming:只支持处理时间,产生数据堆积时候,处理时间和事件时间误差明显

Flink:支持事件时间、注入时间、处理时间,同事支持watermark机制处理迟到的数据,在处理大乱序的实时数据更有优势

容错机制方面

SparkStreaming:基于RDD或对宽依赖添加CheckPoint,利用 SparkStreaming的 direct方式与kafka保证 exactly once

Flink:基于状态添加CheckPoint,通过俩阶段提交协议来保证 exactly once

吞吐量与延迟方面

SparkStreaming:基于微批次的处理使得吞吐量是最大的,但付出了延迟的代价,只能做到秒级处理

Flink:数据是逐条处理,容错机制很轻量级,兼顾了吞吐量的同时又有很低的延迟支持毫秒级处理

本站无任何商业行为
个人在线分享 » 八股系列 Flink
E-->