Flink 状态概述

Flink 状态概述

  • 状态分类

算子任务分 :

  • 无状态 : 根据输入转换为输出 , 如 : map , filter , flatMap
  • 有状态 : 根据输入 , 状态 转换为输出 , 如 : 聚合算子 , 窗口算子

有状态算子的处理流程 :

  1. 算子任务接收到上游发来的数据
  2. 获取当前状态
  3. 根据业务逻辑进行计算,更新状态
  4. 得到计算结果,输出发送到下游任务

Flink 状态概述_第1张图片

状态分类

Flink 状态分 :

  • 托管状态 (Managed State) : 状态的存储访问、故障恢复、重组统一由 Flink 管理,只用调接口
  • 原始状态 (Raw State) : 自定义,需开辟一块内存,由自我管理,实现状态的序列化 , 故障恢复

托管状态分 :

  • 算子状态 (Operator State) : 状态对同个任务共享 , 能作用到所有算子
  • 按键分区状态 (Keyed State) : 状态只对同 Key 共享 , 必须 keyBY 后才能用

算子状态 :

Flink 状态概述_第2张图片

按键分区状态 :

Flink 状态概述_第3张图片

你可能感兴趣的:(Flink,flink,sql,数据库,大数据,java,人工智能)