spark mapwithstate如何访问在多个微型计算机上构建的所有密钥

sub*_*kar 3 scala apache-spark spark-streaming

如何访问由几个微型计算机构建的所有密钥的状态.

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

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

ban*_*ara 5

尝试

val state = sessionizedTuples.stateSnapshots()
Run Code Online (Sandbox Code Playgroud)

stateSnapshots :返回一对DStream,其中每个RDD是所有键的状态的快照.