从 users@apex.incubator.apache.org 转发
运算符的构造函数何时调用?文档说在操作员的生命周期中一次,但我想知道"生命周期"的定义是否跨越顶点应用程序的启动/停止/崩溃(由于编码错误)?
给定运算符具有以下生命周期,如下所示。生命周期跨越运算符实例的执行周期。如果操作员发生故障,生命周期将重新开始,如下所示。操作员状态的检查点每隔几个窗口定期发生一次,并在发生故障时成为最后一个已知的检查点。
→ Constructor is called
→ State is applied from last known checkpoint
→ setup()
→ loop over {
→ beginWindow()
→ loop over {
→ process()
}
→ endWindow()
}
→ teardown()
运算符具有生命周期。构造函数 --> 检查点状态应用 --> setup() --> 循环 {beginWindow() --> 循环 {process() 对于每个输入端口} --> endWindow()} --> tearDown()。当操作员恢复时,周期是相同的。检查点状态是操作员崩溃之前最后一个已知检查点的状态。