flink学习-状态管理

状态管理

在flink中,算子可以分为无状态和有状态两种情况。
无状态的算子只需要观察每个独立事件,根据当前输入的数据直接输出结果。像:filter、flatMap、map都属于无状态的算子。
有状态的算子则是除当前数据之外,还需要一些其他数据来计算结果。这里说的其他数据其实就是指状态,聚合算子,窗口算子都应该算是有状态的算子。
状态也可以分为两种,一种是算子状态,一种是按键分区状态(只有进行key 进行分组的)

按键分区状态

  1. 值状态
    值状态就是状态中只保存一个值
  2. 列表状态
    用List的形式存储状态,主要有的方法:get(获取列表状态,返回值迭代类型);update(更新list状态)、add(添加一个元素)、addAll(添加多个)、clear(清空)
  3. Map状态
    用map形式存储状态。
  4. 规约状态
  5. 聚合状态

状态生存时间

因为状态如果长时间保存会导致存储耗尽,通过设置状态的ttl,可以自动清除没有用的状态,当状态在内存中存在的时间超过这个值,就将它清除。

算子状态

在算子状态中,一个子任务就是一个整体
主要几种类型:列表状态、联合列表状态、广播状态
在算子状态中可以进行初始化后,进行持久化防止异常退出时丢失算子状态,
列表状态和联合列表状态区别在于:并行度改变后如何重新分配,list状态:轮询均分给新的并行子任务;unionlist状态:原先多个子任务的状态,合并成一份完成的,分配给每个新的算子一整份。
广播状态:可以作为配置流进行配置,可以实时修改配置。

状态后端

状态后端分类
HashMapStateBacked (哈希表状态后端,使用内存,保存在TaskManager JVM堆,默认使用)
EmbeddedRocksDBStateBackend(内嵌RocksDB状态后端,kv存储,持久化到磁盘,数据存储需要序列化)

相关推荐

  1. flink学习-状态管理

    2024-06-14 17:02:08       8 阅读
  2. Flink State 状态管理

    2024-06-14 17:02:08       32 阅读
  3. flink状态管理(四)】MemoryStateBackend的实现

    2024-06-14 17:02:08       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-14 17:02:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-14 17:02:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-14 17:02:08       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-14 17:02:08       20 阅读

热门阅读

  1. mysql定时任务事件清理单表数据

    2024-06-14 17:02:08       6 阅读
  2. 修改容器内部时间

    2024-06-14 17:02:08       6 阅读
  3. 死锁的产生预防处理解锁

    2024-06-14 17:02:08       6 阅读
  4. 电压kV为什么k要小写,原因你知道吗?

    2024-06-14 17:02:08       7 阅读
  5. 男人圣经 14

    2024-06-14 17:02:08       7 阅读
  6. AI 到底是什么?

    2024-06-14 17:02:08       8 阅读
  7. ApplicationContextAware使用【工具类】

    2024-06-14 17:02:08       8 阅读
  8. TF-IDF(Term Frequency-Inverse Document Frequency)算法

    2024-06-14 17:02:08       7 阅读
  9. 详解 Flink Table API 和 Flink SQL 之函数

    2024-06-14 17:02:08       7 阅读
  10. 测评要求+基本措施+对应产品

    2024-06-14 17:02:08       7 阅读
  11. 保险丝的选型

    2024-06-14 17:02:08       8 阅读
  12. Django的‘通用视图TemplateView’

    2024-06-14 17:02:08       5 阅读
  13. RSA学习

    RSA学习

    2024-06-14 17:02:08      5 阅读