flink 的用途 && 场景

本文探讨了Flink作为流处理框架的主要用途,强调了它如何确保数据正确性,包括事件时间和处理时间的概念,以及在发生故障后仍保持准确性的能力。Flink的检查点机制支持状态跟踪和容错,确保低延迟和实时结果的准确性。此外,Flink简化了开发和运维,允许逐步采用流处理,并对比了流处理与批处理架构在处理时间上的差异。
摘要由CSDN通过智能技术生成

flink 的用途 

       Flink为流处理器开辟了新的用武之地,它使流处理架构变得完整。它的一大优势便是,使应用程序的构建过程符合自然规律。为了了解Flink的用途及用法,我们来看一看令它具有多用途的几个核心特点,特别是它如何保障数据的正确性。

       1 不同类型的正确性,Flink如何正确地进行流处理,以及保障正确性到底意味着什么。人们往往将正确性等同于准确性——以计数为例,计数结果是否“正确”?这个例子很好地诠释了正确性,但是正确性的影响因素很多,当思考计算怎样才能契合需要建模和分析的场景时,更是如此。换句话说,在处理数据时,需要解决这几个问题:“我需要什么?”“我期望什么?”“我在什么时候需要得到结果?”

       2 符合产生数据的自然规律流处理器(尤其是Flink)的正确性体现在计算窗口的定义符合数据产生的自然规律。举个例子,通过点击流数据追踪某网站的3个访问者(图中的A、B和C)的活动。对于每个访问者来说,活动是不连续的。在访问时间段内,事件数据被收集起来;当访问者起身去喝茶或喝咖啡时,或者当他们因为老板从身边经过而切换回工作页面时,数据就产生了间隙。处理框架能够将访问者行为分析的计算窗口与实际的访问时间段吻合到什么程度?换句话说,计算窗口与会话窗口吻合吗?首先让我们来看看,当访问者行为分析通过微批处理方法或者固定的计算窗口来处理时,会发生什么情况,

如图所示:(采用微批处理方法时,很难使计算窗口(虚线所示)与会话窗口(长方形所示)吻合)

       由微批处理方法得到的计算窗口是人为设置的,因此很难与会话窗口吻合。使用Flink的流处理API,可以更灵活地定义计算窗口,因此这个问题迎刃而解。举个例子,开发人员可以设置非活动阈值,若超过这个阈值(例如5分钟),就可以判断活动结束。下图展示了这种开窗方式。

Flink是一个分布式流处理和批处理计算引擎,其核心功能包括: 1. 流处理:Flink支持无界数据流的实时处理,能够处理实时生成的数据,如实时监控、实时日志分析等,具有低延迟和高吞吐量的特点。 2. 批处理:Flink支持有界数据集的批处理,能够处理离线批量生成的数据,如数据清洗、数据分析等,具有高可靠性和高容错性的特点。 3. 窗口和时间:Flink支持基于时间的窗口操作,如滑动窗口、会话窗口等,能够对数据流进行时间窗口的划分和聚合操作。 4. 状态管理:Flink能够对数据流进行状态管理,如对流数据进行计数、求和等操作,同时支持对状态进行快照和恢复。 5. CEP:Flink支持复杂事件处理(CEP),能够对数据流进行模式匹配和复杂事件的识别和处理。 Flink应用场景包括: 1. 实时监控:Flink能够对实时生成的数据流进行实时监控和处理,如监控电商网站的实时交易、监控物联网设备的传感器数据等。 2. 实时日志分析:Flink能够对实时生成的日志数据进行实时处理和分析,如分析网站访问日志、分析业务系统日志等。 3. 金融行业:Flink能够对实时生成的金融数据进行实时处理和分析,如交易数据的实时分析、实时风控等。 4. 电商推荐:Flink能够对用户的实时购买行为和偏好进行实时分析和推荐,如为用户推荐商品、优化用户购物体验等。 5. 大数据分析:Flink能够对离线批量生成的数据进行批处理和分析,如对大规模数据进行清洗、分析、挖掘等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

掉进悬崖的狼

请博主喝杯奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值