Flink原理学习(五)状态

本文深入探讨了Flink的状态,包括Operator State和Keyed State,以及状态后端和持久化的全量与增量方式。同时,文章阐述了Flink的checkpoint机制,如何通过分布式快照实现应用容错,并详细解释了Flink如何实现端到端一致性保证。此外,还讨论了算子并行度变化时State的恢复策略。
摘要由CSDN通过智能技术生成

Flink原理学习之 状态



Java、大数据开发学习要点(持续更新中…)


一、Flink的状态

  状态在Flink中叫做State,用来保存中间计算结果或者缓存数据。State是实现有状态的计算下Exactly-Once的基础

  1. 状态主要分为两种类型:
  • Operator State:跟一个特定算子的实例绑定,整个算子只对应一个State对象(相同的并行算子都能访问到状态)。只支持ListState
  • Keyed State:状态跟特定的key绑定,即每个KeyedStream对应一个State对象。支持多种State(ValueState、MapState、ListState等)
  1. 广播状态
    在一个数据流需要被广播到所有下游任务,并在下游算子本地存储,在处理另一个流的时候就要依赖广播状态。比如业务数据流正常处理,但当规则更新的时候,则规则数据流需要被广播至所有业务数据流的并行算子中,并以广播State的形式在这些算子中缓存规则数据(必须是MapState类型)。主流和广播流通过connect,广播函数也提供了处理广播流数据和主流数据的接口。

  2. 状态后端

    状态后端具备以下两种能力
    (1) 在计算过程中提供

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值