DStream为批处理间隔生成了多少个RDD?

时间:2016-02-02 22:01:53

标签: apache-spark spark-streaming

一个批处理间隔的数据是否在DStream中生成一个且只有一个 RDD,而不管数据量有多大?

3 个答案:

答案 0 :(得分:8)

是的,每个批处理间隔只有一个RDD,在每个批处理间隔产生,与记录数量无关(包含在RDD中 - 内部可能没有记录)。

如果没有,并且RDD的创建取决于元素的数量,那么你就不会有同步(微批处理)流,而是一种异步处理。

答案 1 :(得分:1)

回复此主题已经很晚了。但是,仍然值得增加一些要点。  RDD的数量取决于您的应用程序中有多少个接收器。这就是“ sparkContext.read”将具有多个RDD的原因。但是,在这种情况下,如果您只有一个接收者或Kafka作为源(无接收者),那么您将只会获得一个RDD。

答案 2 :(得分:0)

Spark Streaming Programming Guide - Discretized Streams (DStreams)中,有:

  

DStream中的每个RDD都包含来自特定时间间隔的数据