大数据学习(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更偏向间断性数据流处理。

相关推荐
一键三联啊5 分钟前
【GIT】错误集锦及解决方案
大数据·elasticsearch·搜索引擎
三三木木七14 分钟前
AI超级智能体学习笔记
笔记·学习
一只小风华~44 分钟前
Vue Router 的三种历史模式详解
前端·javascript·vue.js·笔记·学习·前端框架·ecmascript
武子康1 小时前
大数据-124 - Flink State:Keyed State、Operator State KeyGroups 工作原理 案例解析
大数据·后端·flink
vxtkjzxt8881 小时前
手机群控软件在游戏运营中的行为模拟技术实践
大数据
酌量1 小时前
路径平滑优化详解(二次规划): 数学建模与目标函数推导
经验分享·笔记·学习·机器人·自动驾驶
铭毅天下2 小时前
Codebuddy 实现:云端 Elasticsearch 到 本地 Easysearch 跨集群迁移 Python 小工具
大数据·elasticsearch·搜索引擎·全文检索
青云交2 小时前
Java 大视界 -- Java 大数据在智慧交通自动驾驶仿真与测试数据处理中的应用
java·大数据·自动驾驶·数据存储·算法优化·智慧交通·测试数据处理
观远数据2 小时前
A Blueberry 签约观远数据,观远BI以一站式现代化驱动服饰企业新增长
大数据·数据库·人工智能·数据分析
爱倒腾的老唐4 小时前
01、如何学习单片机
单片机·嵌入式硬件·学习