Flink 和 Spark Streaming 的对比

Spark Streaming

  1. 数据模型Dstream,其实是一个RDD集合,批处理。
  2. 运行时,根据DAG划分Stage,生成taskSet,根据资源调度task。
  3. 角色Master和Worker。Driver 负责调度Task,Executor负责执行 Task。
  4. 支持处理时间,Structrued Streaming 支持处理事件时间,有watermark,支持处理乱序时间
  5. 状态的保存使用checkpoint,但是会产生很多小文件。要借助外部存储时,会频繁交互。
  6. 手动维护offset可以实现Exectly-one
  7. 与kafka0.8不支持检测新增分区,与kafka0.10支持检测新增分区。

Flink

  1. 数据流(事件序列),事件触发计算更状态,真正的流处理
  2. 运行时,StreamGraph,JobGraph,ExecutionGraph,生成固定的拓扑结构图,最后交给JobManager执行。
  3. JobManager和TaskManager,TaskManager上的Solt数代表着TaskMnager的并行度。
  4. 支持 处理时间,事件时间,注入时间(数据进入flink的时间),有watermark,支持处理乱序时间
  5. 使用fsStateBackend (HDFS上)和 RocketsDBStateBackend(本地)保存状态。
  6. 与kafka 0.11 配合使用可以实现 Exectly-one
  7. FlinkKafkaConsumerBase 的run方法里,创建了一个线程定期检测kafka新增分区。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值