Apache flink 如何仅通过一次调用清除整个MapSate状态

Apache flink 如何仅通过一次调用清除整个MapSate状态,apache-flink,flink-streaming,flink-cep,flink-statefun,Apache Flink,Flink Streaming,Flink Cep,Flink Statefun,我知道如果我执行mapState.clear()操作,我将能够将所有值清除到特定键的状态中,但我的问题是:是否有一种方法可以执行类似mapState.clear()的操作,只需一次调用即可将所有状态清除到mapStates中?将类似于mapState.isEmpty()它将显示“true”,因为进入mapState的所有键都已清除,而不仅仅是当前键 谢谢。 亲切的问候 因为我们讨论的是嵌套映射的情况,所以很容易混淆术语。让我们把这个问题放到一个例子中 假设您有一个关于用户的事件流,在KeyedP

我知道如果我执行
mapState.clear()
操作,我将能够将所有值清除到特定键的状态中,但我的问题是:是否有一种方法可以执行类似
mapState.clear()
的操作,只需一次调用即可将所有状态清除到mapStates中?将类似于
mapState.isEmpty()
它将显示“true”,因为进入mapState的所有键都已清除,而不仅仅是当前键

谢谢。
亲切的问候

因为我们讨论的是嵌套映射的情况,所以很容易混淆术语。让我们把这个问题放到一个例子中

假设您有一个关于用户的事件流,在
KeyedProcessFunction
中,您正在
processBroadcastElement()
方法中使用
MapState来迭代所有用户,并为每个用户清除其MapState

无论何时,只要您希望发生这种情况,就必须安排在广播流上发送事件

您应该注意有关使用广播状态的信息。请记住,
processBroadcastElement()
中实现的逻辑在所有并行实例中必须具有相同的确定性行为