7、Flink 流计算处理和批处理平台

本文介绍了Flink作为一个批处理和流处理平台的基础概念、特点和应用场景。Flink以其低时延、Exactly Once保证、高可用性等特点,适用于互联网金融、点击流日志处理和舆情监控等领域。Flink架构包括Data storage、Execution Environment、Optimizer等组件,以及DataStream数据模型和TaskManager、JobManager等执行角色。文章还探讨了Flink的执行流程、窗口技术和容错机制,如checkpoint机制。
摘要由CSDN通过智能技术生成

一、Flink 基本概念

Flink 是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的最大亮点是流处理,是业界最顶级的开源流处理引擎。Flink 与 Storm 类似,属于事件驱动型实时流系统。

所谓说事件驱动型指的就是一个应用提交之后,除非明确的指定停止,否则,该业务会一直持续的运行,它的执行条件就是触发了某一个事件,比如在淘宝中,我们付款需要在支付宝付款,但是付款成功与否的条件是从淘宝获取的,支付宝通过接口向淘宝反馈扣款结果,这个计算的应用是一直存在的,它需要获取支付宝扣款的结果,将结果进行计算加入到后台数据库,记录日志并且向淘宝反馈扣款成功的信息。这个时候,这一系列的操作都是由于用户触发了付款这个事件而导致的,之后系统就会进行这个计算,应用是持续存在的,没有事件驱动的情况下,这个应用是处于静止状态的,事件驱动之后,应用进行计算和反馈。

1.批处理和流处理

批处理在大数据世界有着悠久的历史。批处理主要操作大容量静态数据集,并在计算过程完成后返回结果。

批处理模式中使用的数据集通常符合下列特征:

(1) 有界:批处理数据集代表数据的有限集合

(2) 持久:数据通常始终存储在某种类型的持久存储位置中

(3) 大量:批处理操作通常是处理极为海量数据集的唯一方法

批处理非常适合需要访问全套记录才能完成的计算工作。例如在计算总数和平均数时,必须将数据集作为一个整体加以处理,而不能将其视作多条记录的集合。这些操作要求在计算进行过程中数据维持自己的状态。

需要处理大量数据的任务通常最适合用批处理操作进行处理。无论直接从持久存储设备处理数据集,或首先将数据集载入内存,批处理系统在设计过程中就充分考虑了数据的量,可提供充足的处理资源。由于批处理在应对大量持久数据方面的表现极为出色,因此经常被用于对历史数据进行分析。大量数据的处理需要付出大量时间,因此批处理不适合对处理时间要求较高的场合。流处理系统会对随时进入系统的数据进行计算。相比批处理模式,这是一种截然不同的处理方式。流处理方式无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作。

流处理中的数据集是“无边界”的,这就产生了几个重要的影响:

(1) 完整数据集只能代表截至目前已经进入到系统中的数据总量。

(2) 工作数据集也许更相关,在特定时间只能代表某个单一数据项。

(3) 处理工作是基于事件的,除非明确停止否则没有“尽头”。处理结果立刻可用,并会随着新数据的抵达继续更新。

流处理系统可以处理几乎无限量的数据,但同一时间只能处理一条(真正的流处理)或很少量(微批处理,Micro-batch Processing)数据,不同记录间只维持最少量的状态。虽然大部分系统提供了用于维持某些状态的方法,但流处理主要针对副作用更少,更加功能性的处理(Functional processing)进行优化。

功能性操作主要侧重于状态或副作用有限的离散步骤。针对同一个数据执行同一个操作会或略其他因素产生相同的结果,此类处理非常适合流处理,因为不同项的状态通常是某些困难、限制,以及某些情况下不需要的结果的结合体。因此虽然某些类型的状态管理通常是可行的,但这些框架通常在不具备状态管理机制时更简单也更高效。

此类处理非常适合某些类型的工作负载。有近实时处理需求的任务很适合使用流处理模式。分析、服务器或应用程序错误日志,以及其他基于时间的衡量指标是最适合的类型,因为对这些领域的数据变化做出响应对于业务职能来说是极为关键的。流处理很适合用来处理必须对变动或峰值做出响应,并且关注一段时间内变化趋势的数据。

2.Flink 特点和应用场景

Flink 最适合的应用场景是低时延的数据处理场景:高并发处理数据,时延毫秒级,且兼具可靠性。

典型应用场景有:

(1) 互联网金融业务。

(2) 点击流日志处理。

(3) 舆情(舆论情绪)监控。 Flink 的特点有以下几种:

(1) 低时延:提供 ms 级时延的处理能力。

(2) Exactly Once:提供异步快照机制,保证所有数据真正只处理一次

(3) HA:JobManager 支持主备模式,保证无单点故障。

(4&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值