根据下面提到的文档,如果我重新启动处理器,它似乎会重置我提供的最大列值的值,并从一开始就开始获取数据。
文档链接:https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.5.0/org.apache.nifi.processors.standard.QueryDatabaseTable/index.html
以逗号分隔的列名列表。处理器将跟踪自处理器开始运行以来返回的每列的最大值。
@state(范围=范围. CLUSTER,描述="在对指定表执行查询后,指定列的最大值将被保留以供将来执行查询时使用。这允许处理器""仅获取那些最大值大于保留值的记录。这可用于""增量获取,获取新添加的行等。要清除最大值,请清除处理器的状态""per the State Management留档")
一旦处理器第一次启动,它将永远不会重置它的值,除非您进入处理器的“查看状态”菜单并单击“清除状态”。
在启动和停止处理器时清除状态是没有意义的,因为一旦NiFi重新启动进行维护或崩溃,它就会重置,这是不需要的。
存储状态的位置取决于您是运行单个节点还是集群。在单个节点中,它存储在本地预写日志中,在集群中,它存储在ZooKeeper中,因此所有节点都可以在必要时访问它。无论哪种情况,它都由处理器的UUID存储。