小白学习Flink系列–第三篇(概念)之state

State概念

Flink state是一个非常重要的概念,但却有点抽象难以理解,State是个什么玩意?

​ 继续要和流式数据扯上了。state状态指的就是进行每一个operator的中间结果存储。还不懂?举一个例子

  • 无状态:假设有一个数组[a,b,c],对数据进行+1操作,结果为[a+1,b+1,c+1],b输出的结果受A的影响吗?显然是不受,也就是多次重放值是一样的
  • 有状态的,其实就是数据之间是有关系的,算子作用在数据上,输出的结果和之前的状态有关。

State存储方式

在上文中说到,state状态需要存储,所以问题来了,存哪呢?如果把state当作数据,数据会存在哪呢?内存,磁盘,无非是这几种,state也不能除外

  • 内存存储 MemoryStateBackend,一图胜千言,直接贴Flink社区文章图啦

img

  • 文件系统上存储 FsStateBackend

img

  • key,vvalue内存存储 RocksDBStateBackend

    img

State种类

分为Keyed State和Operator State

  • Keyed State

    img

img

  • Operator State

  • 区别

    img

    State管理

    ​ 为什么需要管理state呢?直接一股脑放内存不香吗?no no no ,内存做不到呀,容量小,断电就无法恢复呀。

    ​ 对于实时计算来说,特点是实时 7*24 h ,这数据量就够大了,而且得高可用呀,不然挂了怎么办?干等吗,于是就出现了状态管理机制

img

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值