spark mapwithstate 如何访问基于多个微批次构建的所有密钥

spark mapwithstate how to access all keys built over multiple microbatches

如何访问多个微批次构建的所有键的状态。

val stateSpec = StateSpec.function(stateUpdate _)
  .numPartitions(numPartitions)
  .timeout(Seconds(7200))
  // ... multiple steps....
  val sessionizedTuples =  endTimedTuples.mapWithState(stateSpec)
  // ..... multiple steps.....

我成功地通过微批量更新了密钥的状态,最终得到了很多密钥。获取所有键及其状态的方法是什么,以便我可以在它们上应用一些 rdd 函数,我看到的所有方法都是微批级别的,而不是随着时间的推移构建的整个集合。

尝试

val state = sessionizedTuples.stateSnapshots()

stateSnapshots : Return 一对 DStream,其中每个 RDD 都是所有键状态的快照。