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