Flink若干认识和基础功能

一、能力
支持流批处理
基于Event-Time事件处理的支持
exactly-once一致性语义的保证
高可用性
支持多种资源管理框架:Yarn、Mesos、Kubernetes、Stand-alone

运行应用的规模上来讲:Flink也是被设计运行有状态的流应用,整个应用并行化为成千上万的任务,在集群上分布式并行执行。

状态管理方面:Flink将任务的状态保存在内存中,如果内存容纳不下,会以可以带来比较好的访问效率的数据结构将其存储在磁盘上。

异步增量检查点算法
在申请资源方面,Flink会根据配置的并行度,自行识别所需资源,并通过REST方式申请。

二、State

对状态的管理是Flink的一大特长。那State在Flink中究竟是怎么一种地位?
1、Flink针对不同的数据结构提供了很多的状态原语,开发人员可根据访问模式,选择高效的状态原语对状态进行保存。
2、在State的管理方面,Flink提供了不同的State Backend对应用的状态数据进行管理,将State存放在内存或者以检查点的形式放在磁盘上。
3、通过State来实现exactly once一致性语义,State的检查点形式的保存为恢复提供了数据基础,检查点和恢复算法提供保障。
4、大状态的支持,对于计算来讲,如果数据在内存中,那么其访问效率就高,就能带来好的计算效率,内存资源有限,状态太大的话,肯定容纳不了。Flink这里采用的是异步增量检查点算法的方式实现对TB级的大状态的支持。
5、应用扩展性,有状态的应用怎么扩展

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flink Rich Function 是 Apache Flink 中的一个重要概念,它是用户自定义函数的一个基类,用于实现各种数据转换和处理逻辑。Rich Function 提供了更多的功能和灵活性,相较于普通的函数接口,它具有以下特性和功能: 1. 生命周期管理:Rich Function 提供了一组生命周期方法,如 open()、close() 和 getRuntimeContext() 等,可以在函数初始化、关闭或访问运行时上下文时执行相应的操作。 2. 状态管理:Rich Function 可以访问和操作运行时的状态,包括 KeyedState 和 OperatorState。这使得在函数中保持和更新状态变得更加容易和高效。 3. 上下文信息:Rich Function 可以访问运行时上下文(RuntimeContext),包括任务的并行度、子任务的索引、任务名称等信息。这些上下文信息可以用于函数的逻辑控制和数据处理。 4. 分布式缓存:Rich Function 可以通过分布式缓存(DistributedCache)来获取外部资源,如配置文件、模型文件等。这样可以方便地在函数中使用外部资源,实现更加灵活的计算逻辑。 5. 异常处理:Rich Function 提供了异常处理机制,可以通过重写 failover() 方法来捕获和处理异常。这样可以保证在出现异常时,函数的执行不会中断并能够进行相应的处理。 总的来说,Flink Rich Function 提供了更多的功能和灵活性,使得用户可以更好地控制和定制函数的行为。通过使用 Rich Function,可以实现更复杂的数据转换和处理逻辑,满足更多场景下的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值