Flink的四大基石之---Flink State状态计算详解

1- 什么是Flink State状态计算

简介: Flink之所以能这么流行,离不开它最重要的四个基石:Checkpoint、State、Time、Window

  • 1)、窗口Window和时间Time(事件时间)
  • 2)、状态State和检查点Checkpoint
    在这里插入图片描述
    状态计算:流式计算中,从数据源,到数据转换,最后数据终端,都会对State状态进行关联。
    在这里插入图片描述
    无状态计算:
    在这里插入图片描述
    有状态(State)计算:
    在这里插入图片描述
2- Flink State 状态组织形式划分

官网文档:https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/stream/state/state.html

  • 转态State存在的两种形式(Forms):Managed(管理)和Raw(原始)
    在这里插入图片描述
3- Flink State 状态基本类型划分

Flink中有两种基本的状态:Keyed State 和 Operator State
在这里插入图片描述
1)、Keyed State
在这里插入图片描述
2)、Operator State

  • Operator State又称为 non-keyed state,与Key无关的State,每一个 operator state 都仅与一个 operator 的实例绑定。Operator State 可以用于所有算子,但一般常用于 Source
    在这里插入图片描述
    3)、KeyedState与OperatorState区别
    在这里插入图片描述
4- Flink State存储 State 数据结构

简介: 有状态计算其实就是需要考虑历史数据,而历史数据需要搞个地方存储起来。Flink为了方便不同分类的State的存储和管理,提供了如下API/数据结构来存储State。
在这里插入图片描述
1)、Keyed State,保存Keyed state的数据结构
在这里插入图片描述
2)、Operator State,需要自己实现 CheckpointedFunctionListCheckpointed 接口,保存Operator state的数据结构:ListState<T>BroadcastState<K,V>

  • 通常实现方式:CheckpointedFunction和ListState
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值