我正在用flink的datastreamapi实现misragries算法。它保持 k 按增量或减量记录数据摘要的计数器。在使用datastreamapi实现算法时,存储此类计数器的最佳方法是什么?现在我宣布 HashMap 运算符中的变量。这是正确的方法还是我需要使用其他一些特性,比如state?
k
HashMap
9bfwbjaz1#
您应该将计数器存储在flink的托管状态,即keyed状态或operator状态,并启用检查点。否则,如果发生故障,信息将丢失。如果正确使用了状态并启用了检查点,flink会定期检查应用程序的状态。如果出现故障,将重新启动作业,并将其状态重置为最新的检查点。
1条答案
按热度按时间9bfwbjaz1#
您应该将计数器存储在flink的托管状态,即keyed状态或operator状态,并启用检查点。否则,如果发生故障,信息将丢失。
如果正确使用了状态并启用了检查点,flink会定期检查应用程序的状态。如果出现故障,将重新启动作业,并将其状态重置为最新的检查点。