我对Flink的DataSet API中的失败处理有两个问题:
为什么不是DataSet API文档中提到的检查点机制?
如何在DataSet API中处理失败,例如public class ProductsController : ApiController
{
[HttpGet, Authorize]
public Product FindProduct(id) {}
}
<appSettings>
<add key="authorize" value="yes"/>
</appSettings>
或reduce
转换?
答案 0 :(得分:2)
Flink以不同方式处理流式传输和批处理程序的故障。
对于流式节目,输入流是未绑定的,因此在发生故障时重播完整输入通常是不可行或不可行的。相反,Flink始终检查操作员和用户功能的状态,并在发生故障时恢复状态。
对于批处理程序,Flink通过读取必要的输入数据并再次评估相关的转换,重新计算因故障而丢失的中间结果。对于所有转换都是如此,包括reduce
和reduceGroup
。