【发布时间】:2017-04-25 22:29:30
【问题描述】:
我在 SO 中看到了几个答案(例如 here),表明批次中的记录将成为单个 RDD。我对此表示怀疑,因为假设 batchInterval 是 1 分钟,那么单个 RDD 将包含最后一分钟的所有数据?
注意:我不是直接将批处理与 RDD 进行比较,而是将 Spark 内部处理的批处理进行比较。
【问题讨论】:
标签: apache-spark spark-streaming rdd
我在 SO 中看到了几个答案(例如 here),表明批次中的记录将成为单个 RDD。我对此表示怀疑,因为假设 batchInterval 是 1 分钟,那么单个 RDD 将包含最后一分钟的所有数据?
注意:我不是直接将批处理与 RDD 进行比较,而是将 Spark 内部处理的批处理进行比较。
【问题讨论】:
标签: apache-spark spark-streaming rdd
Discretized Stream 或 DStream 是 Spark Streaming 提供的基本抽象。它表示一个连续的数据流,要么是从源接收到的输入数据流,要么是对输入流进行变换后生成的经过处理的数据流。在内部,DStream 由一系列连续的 RDD 表示,这是 Spark 对不可变的分布式数据集的抽象(有关详细信息,请参阅 Spark 编程指南)。 DStream中的每个RDD都包含一定区间的数据,如下图所示。
如您所见 - 单个批次 = 单个 RDD。这就是为什么根据数据流调整批处理间隔对于应用程序的稳定性至关重要的原因。
【讨论】: