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

时间:2016-04-28 04:39:26

标签: scala apache-spark spark-streaming

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

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

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

1 个答案:

答案 0 :(得分:5)

尝试

val state = sessionizedTuples.stateSnapshots()

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