Flink及Storm、Spark主流流框架比较-实时框架比较
实时计算框架对比 - flink,storm,spark 三者的区别
我相信有不少的工程师都有着这样的处境,在学flink之前很好奇flink,storm,spark的区别是什么,为什么现在很多企业都在往flink方向转它的优势是什么,为什么不适用storm,为什么不适用spark,在下面的内容中我会为大家解答。希望可以帮助大家,也希望大家看了之后可以提出自己宝贵建议。
有限数据集和无限数据集
1.有限数据集:数据大小有限(固定大小,比如固定的文件),用于批处理,这一类数据主要用于mr,hive,pig,spark等批计算引擎。
2.无限数据集:数据持续增长(属于无限大小,比如kafka中的日志数据,总是有新数据进入,并且不知道什么时候结束或者是永远不结束),用于流式处理,这一类数据主要用于storm,spark streaming,flink等一些流式计算引擎。
apache计算引擎的发展关系
在apche中的三篇论文鉴定大数据的基础其中mr收到其中一篇论文的启发创造了mapreduce,同时随着时代的发展也出现了其他的技术技术。
1.第一代计算引擎 mapreduce
mapreduce 作为第一个计算引擎,用于批处理,是计算引擎的先驱,内部支持机器学习但是现在机器学习库不在更新,并且mapreduce 编写十分的耗时,开发效率低,开发时间成本太大,所以很少有企业写mapreduce 来跑程序。
2.第二代计算引擎 pig/hive
- 作为第二代引擎pig/hive 对hadoop(如果不知道hadoop的话,建议不要看了。。。。。)进行了嵌套,其存储基于hdfs,计算基于mr,hive/pig在处理任务时首先会把本身的代码解析为一个个m/r任务,这样就大大的降低了mr的编写编写成本。
- pig 有自己的脚本语言属于,比hive更加的灵活
- hive 属于类sql语法,虽然没有pig灵活,但是对于现在程序员都会sql的世界来说大家更喜欢使用hive
- pig/hive 只支持批处理,且支持机器学习 (hivemall)
3.第三代计算引擎 spark/storm
随着时代的发展,企业对数据实时处理的需求愈来愈大,所以就出现了storm/spark
- 这两者有着自己的计算模式
- storm属于真正的流式处理,低延迟(ms级延迟),高吞吐,且每条数据都会触发计算。
- spark属于批处理转化为流处理即将流式数据根据时间切分成小批次进行计算,对比与storm而言延迟会高于0.5s(s级延迟),但是性能上的消耗低于storm。“流式计算是批次计算的特例(流式计算是拆分计算的结果)”
4.第四代计算引擎 flink
- flink2015年出现在apache,后来又被阿里巴巴技术团队进行优化(这里我身为国人为之自豪)为blink,flink支持流式计算也支持的批次处理。
- flink为流式计算而生属于每一条数据触发计算,在性能的消耗低于storm,吞吐量高于storm,延时低于storm,并且比storm更加易于编写。因为storm如果要实现窗口需要自己编写逻辑,但是flink中有窗口方法。
- flink内部支持多种函数,其中包括窗口函数和各种算子(这一点和spark很像,但是在性能和实时上spark是没有办法比较的)
- flink支持仅一次语义保证数据不丢失
- flink支持通过envent time来控制窗口时间,支持乱序时间和时间处理(这点我觉得很厉害)
- 对于批次处理flink的批处理可以理解为 “批次处理是流式处理的特例”(批次计算是流式计算的合并结果)
区别对比(总结)
这里用一张图来做第一点的简介
- 这里用一张图来做第一点的对比
- 相比于storm ,spark和flink两个都支持窗口和算子,减少了不少的编程时间
- flink相比于storm和spark,flink支持乱序和延迟时间(在实际场景中,这个功能很牛逼),个人觉得就这个功能就可以锤爆spark
- 对于spark而言他的优势就是机器学习,如果我们的场景中对实时要求不高可以考虑spark,但是如果是要求很高就考虑使用flink,比如对用户异常消费进行监控,如果这个场景使用spark的话那么等到系统发现开始预警的时候(0.5s),罪犯已经完成了交易,可想而知在某些场景下flink的实时有多重要。
Flink及Storm、Spark主流流框架比较-实时框架比较相关推荐
- 02_Flink vs storm vs SparkStreaming、Flink vs storm对比图、实时框架如何选择
1.2.Flink vs storm vs SparkStreaming 1.2.1.对比图 1.2.2.Flink vs storm对比图 1.2.3.实时框架如何选择 需要关注流数据是否需要进行 ...
- nodejs 游戏框架_NODEJS各种框架
来自:http://www.cnblogs.com/sandea/p/5894004.html JavaScript 这门语言的设计虽然被很多人诟病,但是因为其占据了浏览器而且容易上手所以广泛流行.后 ...
- Storm,Trident,Spark Streaming,Samza和Flink主流流处理框架比较
文 | Petr Zapletal ,译者 | 侠天 分布式流处理是对无边界数据集进行连续不断的处理.聚合和分析.它跟MapReduce一样是一种通用计算,但我们期望延迟在毫秒或者秒级别.这类系统一般 ...
- 流计算框架 Flink 与 Storm 的性能对比
本文作者:孙梦瑶 | 美团点评 本文主要内容:通过将分布式实时计算框架 Flink 与 Storm 进行性能对比,为美团点评实时计算平台和业务提供数据参考. 一. 背景 Apache Flink 和 ...
- Flink(二十三)—— 流计算框架 Flink 与 Storm 的性能对比
1. 背景 Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架.其中 Apache Storm(以下简称"Storm")在美团点评实 ...
- Flink Forward Asia 2022 主论坛概览
2022 年 11 月 26-27 日,Flink Forward Asia(FFA)峰会成功举行.Flink Forward Asia 是由 Apache 软件基金会官方授权.由阿里云承办的技术峰会 ...
- Apache Flink vs Apache Spark——感觉二者是互相抄袭啊 看谁的好就抄过来 Flink支持在runtime中的有环数据流,这样表示机器学习算法更有效而且更有效率...
Apache Flink是什么 Flink是一款新的大数据处理引擎,目标是统一不同来源的数据处理.这个目标看起来和Spark和类似.没错,Flink也在尝试解决 Spark在解决的问题.这两套系统都在 ...
- flink 三种时间机制_360深度实践:Flink 与 Storm 协议级对比
本文从数据传输和数据可靠性的角度出发,对比测试了 Storm 与 Flink 在流处理上的性能,并对测试结果进行分析,给出在使用 Flink 时提高性能的建议. Apache Storm.Apache ...
- 360深度实践:Flink与Storm协议级对比
戳蓝字"CSDN云计算"关注我们哦! 文 | 张馨予 来源 | 高可用架构 作者 张馨予,360 大数据计算平台负责人.北京邮电大学硕士,2015年加入360系统部,一直 ...
最新文章
- Visual Studio 2017 图文安装流程
- 【Windows Phone】Metro设计语言
- ADO学习(九)如何阅读ADO文档
- C++动态绑定和静态绑定
- R︱Rstudio 1.0版本尝鲜(R notebook、下载链接、sparkR、代码时间测试profile)
- 用Attiny85控制水泵浇花
- 虚拟机中Linux扩容硬盘空间
- 数据爬取 js 分析(一):Python 爬虫分析网页 js加密解密
- QQ互赞助手pro【每天免费互shua名片赞】2.0系统版本
- 火狐浏览器安全连接失败解决办法
- 移动商务进入战国时代 08年市场规模达306.5亿
- 2021-SZTU第一届acm校赛总结
- c语言实现万能求积分
- CGI, FCGI, SCGI, WSGI
- SCAU18709魔法
- 1.微服务架构-什么是微服务
- MySQL单表查询练习题
- Ubuntu 14.04 更换源(官方源——阿里源)
- 女性常掉头发的应对法(zt)
- Chrome 开发者工具 —— Performance 快速入门
热门文章
- Error: Could not create the Java Virtual Machine.Error: A fatal exception has occurred. Progra
- 数据结构练习题——图(算法设计题)
- 孕妇吃米饭好吗?盘点适合孕妇吃的美食
- 华为云分布式数据库中间件DDM
- 计算椭球面平行投影的轮廓线方程及其面积
- 广告买量支付方式 cpa cpc cps cpt
- vSphere6.7环境搭建
- 从苏宁电器到卡巴斯基第21篇:单证这一年(上)
- 微信小程序人工智能之添加学生信息
- Tachibana Kanade Loves Review(克鲁斯卡尔 最小生成树)