DStream 在一个批次间隔内生成多少个 RDD?

How many RDDs does DStream generate for a batch interval?

无论数据量有多大,在DStream中一个batch间隔是否只生成一个个RDD?

是的,每个批次间隔只有一个 RDD,在每个批次间隔生成,与记录数无关(包含在 RDD 中——里面可能有零条记录)。

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

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

Each RDD in a DStream contains data from a certain interval

回复这个帖子已经很晚了。但是,还是值得再补充几点。 RDD 的数量取决于您的应用程序中有多少接收器。这就是 "sparkContext.read" 会有多个 RDD 的原因。但是,如果您只有一个接收器或 Kafka 作为源 (receiver-less),在这种情况下,您将只会得到一个 RDD。