spark与Flink对比

14 篇文章 3 订阅
8 篇文章 3 订阅

批流理念不同

spark准确的说是批处理,Spark streaming是微批处理,spark底层都依赖于RDD
flink是流式处理,批处理看做是有限的流处理

SQL

sparksql支持的更好
flink一般,在完善中

机器学习图计算等

spark有mllib和graphx等模块
flink比较薄弱

任务

spark,driver管理,Executor执行,通过RDD分区数和shuffle划分stage和task,shuffle过程会有写磁盘
flink,通过JobManager管理,通过TaskManager里划分的slot执行,每个算子可设置并行度

流式计算部分Flink有以下优点

  • 丰富的时间语义,支持 Event Time
  • 良好的乱序数据处理能力
  • 高度灵活的窗口,Flink 支持滚动窗口,滑动窗口,统计窗口,session 窗口,以及数据驱动的窗口
  • exactly-once 语义
  • 带反压的连续流模型,Flink streaming 在运行时有着天然的流控:慢的数据 sink 节点会反压(backpressure)快的数据源(sources)
  • 完善的容错机制
  • 批流api统一,且Api设计合理功能强大
  • 完善的状态编程
  • 内存管理,Flink在 JVM 中实现了自己的内存管理。

总结

从成熟度来说spark生态更完善,flink比较新。如果是离线hive分析,推荐使用sparksql;机器学习等当然也是使用spark;其它业务,如果公司spark平台比较是成熟可使用spark,对于低延时如反欺诈等实时场景可以使用flink;如果公司有相对成熟的flink平台,流式计算使用flink是一个不错的选择,我反正是用过flink做实时计算之后就不想在用sparkstreaming和stucture streaming了;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值