有人可以帮我理解Apache Flink的Checkpoints& amp;保存点。
虽然我阅读了文档,却无法理解其中的区别! :■
答案 0 :(得分:6)
Apache Flink的检查点和保存点类似,它们都是保留Flink应用程序内部状态的机制。
检查点自动进行,并在发生故障时用于自动重启作业。
另一方面,保存点是手动获取的,总是存储在外部,用于启动"新的"在例如
的情况下具有先前内部状态的工作在它们下面实际上是相同的机制/代码路径,带有一些微妙的细微差别。
答案 1 :(得分:1)
<强>保存点强>
保存点通常适用于单个交易;它标志着一个 指向事务可以回滚的点,以便随后回滚 如有必要,可以撤消更改。
更多见这里
https://ci.apache.org/projects/flink/flink-docs-release-1.2/setup/cli.html#savepoints
<强>检查点强>
检查点通常适用于整个系统,您可以配置定期检查点以在外部持久化。外部化检查点将其元数据写入持久存储,并且在作业失败时不会自动清除。 更多请见:
https://ci.apache.org/projects/flink/flink-docs-release-1.2/setup/checkpoints.html
答案 2 :(得分:0)
不同的是,我想添加的一点是,当我们升级管道时,可以手动应用保存点,而在管道重新启动或突然崩溃的情况下,检查点会很有用。但是,以后可能会有副作用,应用程序(管道)必须处理任何情况,例如重新处理重复数据等。