FLink - 流式处理框架选型对比

大数据流式处理框架Flink介绍 随着数据的飞速发展,出现了很多热门的开源社区,比如:hadoop、spark、storm社区,他们都有各自专注的适用场景,比如hadoop主要是做数据的存储及批处理计算,spark既可以做批处理也可以做准实时计算,同时也支持机器学习和图计算,storm主要专注于实时计算。 在国外一些开源社区将flink分为四代:hadoop: 使用DAG(Tez)+MR Spark问题?为什么在企业中很多公司依然使用Mr进行离线计算?主要是Mr的稳定性要远远的大于Spark,因为Mr是基于io的计算,基于io 阅读详情

转载原文:https://blog.youkuaiyun.com/lmalds/article/details/52539590

1、需求决定引擎选型

根据马斯洛需求层次理论,可以将流处理引擎的需求分为以下几种层次: 
这里写图片描述

1、持续性的流处理 
2、低延迟的计算结果,亚秒级别的延迟 
3、高效可扩展性,每秒百万级的吞吐量 
4、容错性,即失败时的可恢复性 
5、精确的可重复性 
6、可查询性

流处理就是在延迟、吞吐量和正确性之间做一个平衡。

2、当前的流处理引擎包含哪些

这里写图片描述

1、Spark Streaming 
2、Storm 
3、Flink 
4、samza 
。。。。

3、根据Maslow模型,在不同流处理系统之间做个简单的横向对比

1、连续不断的处理 
这里写图片描述 
都具有处理“流”的能力。

2、低延迟 
这里写图片描述 
Spark Streaming本质是个“micro-batch”,延迟达到秒级。 
如果对“延迟性”要求很高,Spark Streaming不适合。

3、高吞吐高扩展 
这里写图片描述 
storm在大规模集群下的吞吐量不行?直接看一组来自Yahoo的benchmark: 
这里写图片描述

4、容错和excactly_once 
这里写图片描述 
Flink支持excactly_once,通过检查点产生的分布式快照(有状态的operator)+kafka可重发的数据源完成。

5、准确性与可重发 
这里写图片描述 
准确性依赖于对Event Time的支持以及kafka的可部分重发的数据源。

6、查询性 
这里写图片描述 
将计算结果不断的sink到database或者key/value数据库,虽然这会成为潜在的瓶颈。

4、Flink实时查询服务架构

这里写图片描述 
不断的sink到nosql数据库,提供了一个实时查询的可能性!!!

5、根据需求,确定适合自己的流处理框架

这里写图片描述

6、参考

Counting in streams: A hierarchy of needs 
Stateful Stream Processing at In-Memory Speed 
Yahoo Streaming Benchmarks 
Apache Flink Presentation

基于 Flink 的实时特征平台在携程的应用 本文来自7月26日在上海举行的 Flink Meetup 会议,分享来自于刘康,目前在大数据平台部从事模型生命周期相关平台开发,现在主要负责基于flink开发实时模型特征... 阅读详情

相关推荐

字节跳动基于Flink的MQ-Hive实时数据集成

背景在数据中台建设过程中,一个典型的数据集成场景是将 MQ (Message Queue,例如 Kafka、RocketMQ 等)的数据导入到 Hive 中,以供下游数仓建设以及指标统计...

字节跳动技术团队官方博客 1万+

用Flink取代Spark Streaming,知乎实时数仓架构演进

“数据智能” (Data Intelligence) 有一个必须且基础的环节,就是数据仓库的建设,同时,数据仓库也是公司数据发展到一定规模后必然会提供的一种基础服务。从智能商业的角度来讲,数据的结果代表了用户的反馈,获取结果的及时性就显得尤为重要,快速的获取数据反馈能够帮助公司更快的做出决策,更好的进行产品迭代,实时数仓在这一过程中起到了不可替代的作用。本文主要讲述知乎的实时数仓实践以及架构的演进...

测试 3851

流式处理与批处理:从原理到实践的技术选型指南

本文深入解析流式处理与批处理的本质区别、核心技术栈对比及企业级架构实践,帮助开发者在技术选型时做出明智决策。通过实际案例和优化技巧,展示如何根据数据时效性、特征和资源预算选择流处理(如Flink)或批处理(如Spark),并探讨混合架构的最佳实践。

weixin_29038537的博客 214

流式处理核心原理、主流框架选型与实时应用实战

数据处理是现代软件工程与数据分析领域的核心基础。传统批处理模式在处理有限数据集时表现良好,但其‘全量加载、集中处理’的原理在面对持续涌入、规模庞大的数据流时,会遭遇内存瓶颈与高延迟挑战。流式处理作为一种先进的编程范式,其核心原理在于将数据视为连续不断的‘流’,采用‘来一点、处理一点、输出一点’的推送模式,实现了极高的内存效率和实时响应能力。这一技术价值在于能够支撑实时监控、即时反馈等对延迟敏感的业务场景。在应用层面,从简单的进程内集合转换到复杂的分布式实时计算,都需要选择合适的工具。例如,Java Stre

weixin_33834910的博客 437

flink中 Lookup Join和Interval Join和Regular Join,Temporal Join使用场景与对比

Flink中三种Join对比:1)Lookup Join用于流表关联外部维表(如MySQL),无状态但依赖外部查询性能;2)Interval Join通过时间窗口关联双流(如1小时内订单匹配支付),状态仅保留窗口数据;3)Regular Join实现无限制双流关联,状态持续增长需设置TTL。选型建议:查维表用Lookup,时间窗用Interval,无限制精确匹配用Regular。

努力工作学习的程序员 1237

Flink 实时数仓(一)【实时数仓&离线数仓对比】

实时数仓和离线数仓的对比

功不唐捐,玉汝于成 6594

Hadoop、Spark、Flink核心架构深度解析(20年专家亲授架构选型秘诀)

深度解析大数据处理框架(Hadoop/Spark/Flink)对比,揭秘三大引擎架构原理与选型策略。涵盖批流处理场景、性能差异与适用业务,结合20年专家经验提炼架构决策关键点,助力高效技术选型,值得收藏。

LogicGlow的博客 775

MySQL实时同步实战:Canal vs Flink CDC性能对比与选型指南

本文深入对比了MySQL实时同步技术Canal与Flink CDC的性能差异与适用场景。通过实测数据展示Flink CDC在吞吐量(峰值TPS 28,000)和延迟(平均210ms)上的优势,同时解析Canal的轻量级部署特点。提供生产环境配置指南和典型问题解决方案,帮助开发者根据业务需求选择最佳数据同步方案。

weixin_29042035的博客 62

Storm与Flink流处理框架性能对比与选型指南

流处理技术是实时计算领域的核心,通过持续处理无界数据流满足金融交易、电商支付等场景的亚秒级响应需求。其核心原理是将数据视为连续流而非离散批次,采用分布式架构实现高吞吐与低延迟。Apache Storm作为第一代流处理系统,采用纯流式处理模型;而Apache Flink创新性地实现流批一体架构,支持精确一次语义。在交易数据流处理场景中,Flink凭借微批优化和增量计算,吞吐量可达Storm的2-3倍,P99延迟降低80%以上。对于需要状态管理和复杂事件处理的场景,如信用卡欺诈检测,Flink的本地状态访问和算

weixin_34210740的博客 366

Flink + Doris 实时数据湖实践:从流式处理到秒级分析

本文详细阐述了如何利用Flink与Doris构建实时数据湖,实现从流式处理到秒级分析。通过将Flink作为实时计算引擎处理数据流,并将结果高速写入Doris进行分析,该架构能够支撑实时指标体系构建,满足分钟级甚至秒级的数据更新与查询需求,有效赋能业务决策。

weixin_29093017的博客 408

Cadence OrCAD: 层次化设计 Hierarchical Design

详细介绍OrCAD的原理图层次化设计方法。

Fantasy237的博客 1万+

Flink vs 传统批处理:ETL效率对比实验

适用场景对实时性要求高的场景首选Flink历史数据回溯等场景仍需要批处理学习曲线Flink的状态管理和Exactly-Once语义需要更多学习成本Hive的SQL接口对传统团队更友好混合架构实际项目中常采用Lambda架构,用Flink处理实时流,Hive处理批数据通过这次对比实验,我深刻体会到流式计算在实时数据处理方面的巨大优势。特别是使用InsCode(快马)平台进行原型开发时,发现它内置的Flink环境可以快速验证想法,一键部署功能让性能测试变得非常便捷,省去了繁琐的环境配置过程。

SapphireOwl29的博客 699

一分钟学会MATLAB-数据清洗(含完整代码)

数据清洗是数据分析过程中的一个重要步骤,目的是提高数据的质量,以便进行更有效的分析。% 删除超出阈值的行。% 用线性插值填充缺失值。% 删除包含缺失值的行。% 找到缺失值的位置。% 可视化数据,识别异常值。缺失值是数据清洗中常见的问题。通过以上步骤,你可以有效地清洗数据,使其准备好进行后续的分析和建模。

2402_87132195的博客 3317

流式处理新秀Flink原理与实践

随着大数据技术在各行各业的广泛应用,要求能对海量数据进行实时处理的需求越来越多,同时数据处理的业务逻辑也越来越复杂,传统的批处理方式和早期的流式处理框架也越来越难以在延迟性、吞吐量、容错能力以及使用便捷性等方面满足业务日益苛刻的要求。在这种形势下,新型流式处理框架Flink通过创造性地把现代大规模并行处理技术应用到流式处理中来,极大地改善了以前的流式处理框架所存在的问题。飞马网于3月13日晚,邀请...

lansedeyezi的博客 661

Jenkins离线安装保姆级教程:从下载.war包到SVN+Maven项目一键部署(附避坑脚本)

本文详细介绍了Jenkins离线安装的全流程,包括.war包下载、SVN+Maven项目配置及自动化部署。特别针对内网环境提供解决方案,涵盖插件管理、开发工具链配置、构建触发器和SSH部署等关键步骤,帮助企业在网络隔离环境下实现高效持续集成。

weixin_30096975的博客 375

基于YOLOv5的隧道衬砌缺陷智能检测系统

计算机视觉在工程检测领域正发挥越来越重要的作用,特别是目标检测技术通过深度学习算法实现了对复杂场景的智能分析。YOLOv5作为当前主流的目标检测框架,通过改进网络结构和训练策略,可以显著提升检测精度和效率。在隧道工程领域,结合通道注意力机制和多尺度特征融合技术,能够有效解决衬砌缺陷识别中的小目标检测难题。这种AI检测系统相比传统人工判读地质雷达图像,不仅将效率提升20倍,还能将识别准确率提高到92.3%,特别适用于3cm以上结构缺陷的自动化检测。系统通过深度可分离卷积等优化,实现了模型轻量化,便于在边缘计算

weixin_29064103的博客 328

从Spark/Flink到WASM:流式处理框架的演进与未来展望

本文对比分析了传统流处理框架(如Spark/Flink)和新兴WASM方案的差异,探讨了技术选型的关键因素。通过性能测试数据、架构对比和实际案例,揭示流处理技术从集群调度到边缘计算的演进路径。(关键词:流式计算、WASM、性能优化、边缘计算)

欢迎来到我的博客!我是一名拥有20年以上经验的系统架构师。作为一名技术爱好者,我相信技术的力量可以改变世界。 1302

LuaJit分析(十一)去除string.dump函数

因此即使我们的指令顺序被打乱,通过loadfile系统调用,再通过string.dump调用,可以得到字节码文件,再通过与标准的luajit生成的字节码文件比对,即可找出差异所在。Lua脚本中的string.dump函数用于生成字节码文件,根据对 luajit -b命令的分析可以得出,最终dump出字节码文件都是使用的string.dump函数。同时lj_libdef.h和lj_ffdef.h这两个文件都是自动生成的,在msvcbuild.bat中,使用如下命令生成。

a545958498的博客 1133

[转]三种流处理框架比较:Storm,Spark和Flink

storm、spark streaming、flink都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,允许你在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行,都提供了简单的API来简化底层实现的复杂程度。 Apache Storm 在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topology)。这个拓扑将会被提交给集群,由集群中的主控节点(ma...

大仁哥、的博客 7607

Rust 语言入门

Rust 使 对您的编辑或工具或代码所在的位置没有特定要求,因此 如果您更喜欢使用集成开发环境 (IDE) 而不是 命令行,请随意使用您最喜欢的 IDE。对于简单的程序来说,只编译 是可以的,但作为你的项目 增长,您将需要管理所有选项并轻松共享您的 法典。接下来,我们将向您介绍 Cargo 工具,它将帮助您编写 真实世界的 Rust 程序。现在您已经安装了 Rust,是时候编写您的第一个 Rust 程序了。这不重要 到你的代码所在的 Rust,但对于本书中的练习和项目, 我们建议在你的主目录中创建一个。

JohnChen(Net) 1476

别急着编译!修复银河麒麟OpenSSH漏洞前,先搞懂ssh、sshd版本与apt仓库的“爱恨情仇”

本文深度解析银河麒麟OpenSSH漏洞(CVE-2023-38408)修复策略,揭示版本差异背后的企业级维护逻辑,提供从APT升级到源码编译的多维度方案评估。特别针对路径隔离方案和离线环境处理给出技术细节,帮助企业制定兼顾安全与稳定的升级决策框架。

weixin_26642481的博客 457

大数据处理引擎选型之 Hadoop vs Spark vs Flink

随着大数据时代的到来,处理海量数据成为了各个领域的关键挑战之一。为了应对这一挑战,多个大数据处理框架被开发出来,其中最知名的包括Hadoop、Spark和Flink。本文将对这三个大数据处理框架进行比较,以及在不同场景下的选择考虑。Hadoop是大数据处理领域的先驱,其核心组件包括Hadoop Distributed File System(HDFS)和MapReduce。HDFS负责将大数据分布式存储在多台服务器上,而MapReduce则负责将数据分成小块进行并行处理。

qq_36176028的博客 2121

YOLOv11【第二章:核心模块进阶篇·第28节】DynamicHead动态检测头设计!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 1万+
上一篇: Blink编译及使用
下一篇: 流式处理框架对比
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值