FlinkFlink和Spark Streaming对比
Posted 机智的小天文
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FlinkFlink和Spark Streaming对比相关的知识,希望对你有一定的参考价值。
Flink是实时处理引擎,是基于事件驱动的。
Spark Streaming是微批次处理模型。
Flink | Spark Streaming | |
架构模型 | Flink 运行时架构中,最重要的就是两大组件:作业管理器(JobManger)和任务管理器 (TaskManager) | 采用了标准 master-slave 的结构,核心组件包括:Driver、Executor、Master 、 Worker、ApplicationMaster |
任务调度 | 逻辑流图(StreamGraph)→ 作业图(JobGraph)→ 执行图(ExecutionGraph)→ 物理图(Physical Graph) | 连续不断的生成微小的数据批次后,Spark Streaming会构建有向无环图 DAG,依次创建 DStreamGraph、JobGenerator、JobScheduler |
时间语义 | 处理时间、事件时间、摄入时间 | 只支持处理时间 |
容错机制 | 检查点是 Flink 容错机制的核心。 输入端:数据源可重置读取数据偏移量,Source 算子将偏移量作为状态保存进检查点,就可以保证数据不丢。 输入端:通过幂等写入或事务写入(预写日志和两阶段提交)保证exactly-once 一致性 | 设置 checkpoint,发生故障并重启后,可以从上次 checkpoint 处恢复,只能使得数据不丢失,可能会产生重复处理现象,无法做到精确一次 |
以上是关于FlinkFlink和Spark Streaming对比的主要内容,如果未能解决你的问题,请参考以下文章
Apache Spark 2.2.0 中文文档 - Structured Streaming 编程指南 | ApacheCN