Apache Flink:如何在 DataSet API 中处理故障?
Apache Flink: How are failures handled in the DataSet API?
关于 Flink 的 DataSet 中的故障处理,我有两个问题 API:
为什么数据集的文档中没有提到检查点机制 API?
如何在数据集 API 中处理失败,例如 reduce
或 reduceGroup
转换?
Flink 对流式和批处理程序的故障处理方式不同。
对于流式程序,输入流是未绑定的,因此在发生故障时通常不可能或不可行重播完整的输入。相反,Flink 始终检查操作符和用户函数的状态,并在发生故障时恢复状态。
对于批处理程序,Flink 通过读取必要的输入数据并再次评估相关转换来重新计算因失败而丢失的中间结果。这适用于所有转换,包括 reduce
和 reduceGroup
.
关于 Flink 的 DataSet 中的故障处理,我有两个问题 API:
为什么数据集的文档中没有提到检查点机制 API?
如何在数据集 API 中处理失败,例如
reduce
或reduceGroup
转换?
Flink 对流式和批处理程序的故障处理方式不同。
对于流式程序,输入流是未绑定的,因此在发生故障时通常不可能或不可行重播完整的输入。相反,Flink 始终检查操作符和用户函数的状态,并在发生故障时恢复状态。
对于批处理程序,Flink 通过读取必要的输入数据并再次评估相关转换来重新计算因失败而丢失的中间结果。这适用于所有转换,包括 reduce
和 reduceGroup
.