根据下面提到的文档,似乎我将重新启动处理器,它将重置我提供的最大列值的值,并将从头开始获取数据。
以逗号分隔的列名列表。处理器将跟踪自处理器开始运行以来返回的每列的最大值。
@Stateful(scopes = Scope.CLUSTER,description =“在对指定的表执行查询后,将保留指定列的”+“的最大值,以便在将来执行查询时使用。允许处理器“+”仅获取最大值大于保留值的记录。这可用于“+”增量提取,提取新添加的行等。要清除最大值,请清除状态根据州管理文件处理器“+”“)
答案 0 :(得分:1)
处理器第一次启动后,除非您进入处理器的“查看状态”菜单并单击“清除状态”,否则它将永远不会重置它的值。
在启动和停止处理器时清除状态是没有意义的,因为任何时候NiFi重新启动以进行维护或崩溃,然后它将重置,这是不希望的。
存储状态的位置取决于您运行的是单个节点还是群集。在单个节点中,它存储在本地预写日志中,在集群中它存储在ZooKeeper中,因此所有节点都可以在必要时访问它。在任何一种情况下,它都由处理器的UUID存储。