Spark Streaming 根本工作原理
Spark Streaming 外部的根本工作原理如下:接管实时输出数据流,而后将数据拆分成多个 batch,比方每收集 1 秒的数据封装为一个 batch,而后将每个 batch 交给 Spark 的计算引擎进行解决,最初会生产出一个后果数据流,其中的数据,也是由一个一个的 batch 所组成的。
DStream
Spark Streaming 提供了一种高级的形象,叫做 DStream,英文全称为 Discretized Stream,中文翻译为“离散流”,它代表了一个继续一直的数据流。DStream 能够通过输出数据源来创立,比方 Kafka、Flume 和 Kinesis;也能够通过对其余 DStream 利用高阶函数来创立,比方 map、reduce、join、window。
DStream 的外部,其实一系列继续一直产生的 RDD。RDD 是 Spark Core 的外围形象,即,不可变的,分布式的数据集。DStream 中的每个 RDD 都蕴含了一个时间段内的数据。
对 DStream 利用的算子,比方 map,其实在底层会被翻译为对 DStream 中每个 RDD 的操作。比方对一个 DStream 执行一个 map 操作,会产生一个新的 DStream。然而,在底层,其实其原理为,对输出 DStream 中每个时间段的 RDD,都利用一遍 map 操作,而后生成的新的 RDD,即作为新的 DStream 中的那个时间段的一个 RDD。底层的 RDD 的 transformation 操作,其实,还是由 Spark Core 的计算引擎来实现的。Spark Streaming 对 Spark Core 进行了一层封装,暗藏了细节,而后对开发人员提供了不便易用的高层次的 API。
关键词:大数据培训