大数据学习(78)-spark streaming与flink

🍋🍋大数据学习🍋🍋

🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞


Flink 和 Spark Streaming****都是用于实时流式数据处理的分布式计算框架,但两者的基本设计思想和内部执行机制有些不同。

Flink 基于流的理念,采用了基于数据流模型的核心运行时引擎。它可以对无界和有界数据流进行有状态的计算。Flink 使用了链式操作来表达运算逻辑,并基于流水线的方式进行任务调度。

Spark Streaming 则是通过微批处理的方式来实现对实时数据流的处理它将数据流切分成很小的批数据,然后提交给 Spark 执行批处理任务。Spark Streaming 基于 RDD 来表达运算逻辑,并通过 Spark 的任务调度机制进行调度。

Flink 的内部把流处理算法表示为数据流图,并以流水线的方式持续运算。而 Spark Streaming 是将流任务拆解为一个个小批的 Spark 任务,这些批任务按时间顺序执行。

两者在fault tolerance 机制上也有区别。Flink 基于检查点机制实现了 exactly-once 语义。而 Spark Streaming 通过 Write ahead logs 实现了至少一次保证。

Flink和Spark Streaming作为两种主流的流计算框架,在实现机制上存在显著区别。Flink是基于流的真正运行时,能够持续地对无界数据流进行计算,**通过Operator Chains实现流式数据流水线化++具备毫秒级的低延迟处理能力。它采用检查点机制实现Exactly-once语义,确保每条数据被精确处理一次,并支持事件时间处理,能够很好地处理乱序事件。++此外,Flink支持丰富的流处理功能,如循环流、流Join等,但需要单独部署和运维。**

相比之下Spark Streaming则基于微批处理模型,将数据流离散为批进行处理,通过RDD拼接批结果来模拟流计算。 其延迟一般在500毫秒以上,采用写前日志实现At-least-once语义,保证每条数据至少被处理一次。Spark Streaming基于批次时间处理,不支持水印和复杂的事件时间窗口操作。虽然其重启后需要重新计算,但可以直接基于Spark集群运行,资源利用更为经济。

在选择Flink或Spark Streaming时,需考虑以下方面:**若需要真正的流处理、低延迟、高精度以及复杂的流处理功能,Flink是更合适的选择;若采用微批方式也能满足需求,且希望与批处理统一学习和使用,共享Spark集群资源,团队更熟悉Spark,则Spark Streaming是可行的选项。**Flink更适合低延迟、高精度的连续流处理,而Spark Streaming更偏向间断性数据流处理。

相关推荐
2603_965148114 小时前
家居百货蓝海:API挖掘高复购率生活小商品
大数据·服务器·人工智能·python·生活
小淮AI7 小时前
从“刷题”到“追问”:AI课堂正在重塑哪些学习旧习惯?
人工智能·学习
wixzjsh8 小时前
TCP通信与HTTP协议学习笔记:粘包、三次握手、四次挥手与C/S、B/S模型
学习·tcp/ip·http
ZhiMuZhiLing8 小时前
拓客软件学习成本实测方法论:从注册到出第一批名单要多久
学习·流量运营·用户运营
宸津-代码粉碎机8 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
程序员大雄学编程9 小时前
微积分46. 无穷级数四大核心性质:从理论到实践的全方位解析
python·学习·微积分·学习工具
博、、9 小时前
从零构建智慧场馆解决方案:架构设计与开发实践
大数据·运维
AI行业说9 小时前
誉财自动化YC-18-M8045实测:服装自动化vs人工缝制产能成本对比
大数据·人工智能·自动化·智能模板机
2601_963749109 小时前
越华环保集团数字化污水治理:端边云采集架构与平台对接实现
java·大数据·架构
爱吃火鸡面呀10 小时前
MySQL DQL 子查询详解:从标量、列、行到表子查询的完整实战
大数据·数据库·mysql