网站首页 > 博客文章 正文
大数据处理的新趋势,流处理和批处理是非常重要的两个概念,而基于流处理和批处理的大数据处理框架,Flink和Spark,也是常常被大家拿来做比较的对象。而在实时流数据处理上,Flink性能似乎更加强劲,那么Flink为什么比Spark快呢,今天我们就来聊聊这个话题。
Spark和Flink都是针对于实时数据处理的框架,并且两者也都在实际的工作当中表现出色,但是如果要深究两者在大数据处理的区别,我们需要从Spark和Flink的引擎技术开始讲起。
Spark和Flink计算引擎,在处理大规模数据上,数据模型和处理模型有很大的差别。
Spark的数据模型是弹性分布式数据集RDD(Resilient Distributed Datasets)。RDD可以实现为分布式共享内存或者完全虚拟化(即有的中间结果RDD当下游处理完全在本地时可以直接优化省略掉)。这样可以省掉很多不必要的I/O,是早期Spark性能优势的主要原因。
Spark用RDD上的变换(算子)来描述数据处理。每个算子(如map,filter,join)生成一个新的RDD。所有的算子组成一个有向无环图(DAG)。这就是Spark进行数据处理的核心机制。
而Flink的基本数据模型,则是数据流,及事件(Event)的序列。数据流作为数据的基本模型,这个流可以是无边界的无限流,即一般意义上的流处理。也可以是有边界的有限流,这样就是批处理。
Flink用数据流上的变换(算子)来描述数据处理。每个算子生成一个新的数据流。在算子,DAG,和上下游算子链接(chaining)这些方面,和Spark的基本思路是一样的。
但是在在DAG的执行上,Spark和Flink有明显的不同。
在Flink的流执行模式中,一个事件在一个节点处理完后的输出就可以发到下一个节点立即处理。这样执行引擎并不会引入额外的延迟。而Spark的micro batch和一般的batch执行一样,处理完上游的stage得到输出之后才开始下游的stage。
这也就是Flink为什么比Spark快的原因之一。并且Flink在数据流计算执行时,还可以把多个事件一起进行传输和计算,进一步实现数据计算的低延迟。所以Flink之所以快,其实也可以理解为比Spark的延迟性更低。
猜你喜欢
- 2024-09-29 Spark整合Ray思路漫谈(spark整合springboot)
- 2024-09-29 Flink:再爱我一次(再爱我我一次)
- 2024-09-29 大数据hadoop和spark怎么选择?(hadoop和spark是大数据的什么软件)
- 2024-09-29 Apache Flink会超越Apache Spark么?
- 2024-09-29 阿里一面:说一下Flink跟Spark Streaming的区别
- 2024-09-29 数据中台-大数据技术之一文说清如何选择Spark和Flink
- 2024-09-29 Spark Streaming VS Flink(streamingassets是什么意思)
- 2024-09-29 Flink与Spark集群架构对比(flink jar包和flink集群的关系)
- 2024-09-29 Spark VS Flink:功能比较记录(spark和flink哪个更好入门)
- 2024-09-29 面试被问Flink和Spark Streaming的区别,要怎么回答?
你 发表评论:
欢迎- 最近发表
-
- 解决Win10打开软件提示“服务器没有及时响应或控制请求”
- 用友UAP解开非结构化大数据处理与分析的密码
- Windows 25H2 修复底层崩溃(windows修复环境)
- 开源技巧:使用Docker实现交互式任务
- Win11 任意版本 直接安装 Android 应用 教程完整版
- Windows Terminal已成为Windows 11操作系统的默认终端
- 那些好莱坞电影中炫酷的特效 原来是这么拍的
- Windows 10 Build 21327.1010发布:测试服务管道更新
- Made in China: The story behind the label
- PowerShell登录远程Linux系统(powershell开启远程桌面)
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- flutterrun (59)
- 系统设计图 (58)
- powershellfor (73)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)