我在SO中看到了几个答案(例如here)表明批处理中的记录将成为单个RDD。我怀疑它是因为假设batchInterval是1分钟,那么单个RDD将包含最后一分钟的所有数据?
注意:我不是直接将批次与RDD进行比较,而是将Spark内部处理的批次进行比较。
答案 0 :(得分:1)
Discretized Stream或DStream是Spark Streaming提供的基本抽象。它表示连续的数据流,可以是从源接收的输入数据流,也可以是通过转换输入流生成的已处理数据流。在内部,DStream由一系列连续的RDD表示,这是Spark对不可变分布式数据集的抽象(有关更多详细信息,请参阅Spark编程指南)。 DStream中的每个RDD都包含来自特定时间间隔的数据,如下图所示。
如您所见 - 单批=单RDD。这就是为什么根据数据流调整批处理间隔对于应用程序的稳定性至关重要。