通过updateStateByKey函数返回的DStream是否只包含一个RDD?如果没有,在什么情况下DStream会包含多个RDD?
答案 0 :(得分:2)
每批包含一个RDD。 updateStateByKey返回的DStream是一个“状态”DStream。您仍然可以将此DStream视为普通DStream。对于每个批处理,RDD根据您传递给updateStateByKey的更新函数表示最新状态(键值对)。
答案 1 :(得分:0)
它看起来不像你说的那样,代码作为应用程序的一部分,每批只打印一次,所以我认为每个有状态的DStream只有一个RDD
@transient val statefulDStream = lines.transform(...).map(x => (x, 1)).updateStateByKey(updateFuncs)
statefulDStream.foreachRDD { rdd =>
println(rdd.first())
}
答案 2 :(得分:0)
是的,由updateStateByKey返回的DStream只有一个RDD