Spark Streaming 是 Spark 核心 API 的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。
Spark Streaming 支持从多种数据源获取数据,包括 Kafka、Flume、Twitter、ZeroMQ、Kinesis 以及 TCP Sockets。从数据源获取数据之后,可以使用诸如 map、reduce、join 和 window 等高级函数进行复杂算法的处理,最后还可以将处理结果存储到文件系统、数据库和现场仪表盘中。
在 Spark 统一环境的基础上,可以使用 Spark 的其他子框架,如机器学习、图计算等,对流数据进行处理。Spark Streaming 处理的数据流如图 1 所示。

图 1 Spark Streaming处理的数据流示意
与 Spark 的其他子框架一样,Spark Streaming 也是基于核心 Spark 的。Spark Streaming 在内部的处理机制是,接收实时的输入数据流,并根据一定的时间间隔(如 1 秒)拆分成一批批的数据,然后通过 Spark Engine 处理这些批数据,最终得到处理后的一批批结果数据。它的工作原理如图 2 所示。

图 2 Spark Streaming 原理示意
Spark Streaming 支持一个高层的抽象,叫作离散流(DiscretizedStream)或者 DStream,它代表连续的数据流。
DStream 既可以利用根据 Kafka、Flume 和 Kinesis 等数

Spark Streaming 是 Spark 的实时数据处理组件,提供高吞吐、容错能力,支持Kafka、Flume等多种数据源。它使用DStream抽象,内部通过RDD序列处理批数据。Spark Streaming与其他Spark框架集成,用于实时流数据的复杂算法处理和存储。
最低0.47元/天 解锁文章
1864

被折叠的 条评论
为什么被折叠?



