目录
1. 什么是 Flink Checkpoint?
2. Flink Checkpoint 原理
3. Flink Checkpoint 使用方法
4. Flink Checkpoint 具体应用场景
5. 为什么 Flink SQL 流式写入数据到表时需要设置 Checkpoint?
1. 什么是 Flink Checkpoint?
在流式处理系统中,数据是连续不断地流动的。为了保证数据处理的容错性和一致性,Flink 引入了 Checkpoint 机制。Checkpoint 本质上是应用状态在某个时间点的全局快照。
关键概念:
- 状态 (State): 在 Flink 流式应用中,算子(operators)为了进行有状态的计算(例如窗口聚合、连接操作等)需要维护自身的状态信息。状态包括算子的内部数据结构,例如哈希表、缓冲区、窗口的中间结果等等。
- 全局快照 (Global Snapshot): Checkpoint 记录的是整个 Flink 应用在某一时刻所有算子状态的一致性视图。这意味着,当发生故障时,Flink 可以将整个应用恢复到 Checkpoint 记录的那个一致性状态