一个批处理间隔的数据是否在DStream中生成一个且只有一个 RDD,而不管数据量有多大?
答案 0 :(得分:8)
是的,每个批处理间隔只有一个RDD,在每个批处理间隔产生,与记录数量无关(包含在RDD中 - 内部可能没有记录)。
如果没有,并且RDD的创建取决于元素的数量,那么你就不会有同步(微批处理)流,而是一种异步处理。
答案 1 :(得分:1)
回复此主题已经很晚了。但是,仍然值得增加一些要点。 RDD的数量取决于您的应用程序中有多少个接收器。这就是“ sparkContext.read”将具有多个RDD的原因。但是,在这种情况下,如果您只有一个接收者或Kafka作为源(无接收者),那么您将只会获得一个RDD。
答案 2 :(得分:0)
在Spark Streaming Programming Guide - Discretized Streams (DStreams)中,有:
DStream中的每个RDD都包含来自特定时间间隔的数据