Spark Steaming Abstract

2018-07-07  本文已影响0人  右左君

Spark Steaming Abstract

Spark Streaming 是 Spark Core API 的扩展,它支持弹性的,高吞吐的,容错的实时数据流的处理。
数据源支持:

又可分为:

  1. Basic sources(基本来源): 在 StreamingContext API 中直接可用的源(source)。如文件系统(file systems)和 socket 连接(socket connections)。
  2. Advanced sources(高级来源): Kafka,Flume,Kinesis等通过额外的实体类来使用的来源, 需要连接额外的依赖。
image

原理:接收实时输入数据流并将数据切分成多个批数据,然后由Spark Engine 处理并分批生成 结果数据流。


image

Spark Streaming 提供了一个高层次的抽象叫做离散流(discretized stream)或者 DStream,它代表一个连续的数据流。DStream 可以通过来自数据源的输入数据流创建,例如 Kafka,Flume 以及 Kinesis,或者在其他 DStream 上进行高层次的操作创建。在内部,一个 DStream 是通过一系列的 RDD 来表示。

StreamingContext

初始化 Spark Streaming 程序,必须创建 StreamingContext 对象,它是所有的 Spark Streaming 功能的主入口点。

StreamingContext 定义之后:

注意:

DStream

Discretized Stream(离散化流)或者 DStream(离散流)是 Spark Streaming 提供的基本抽象。

DStream 代表了一个连续的数据流,无论是从源接收到的输入数据流,还是通过变换输入流所产生的处理过的数据流。

在内部,一个DStream表示一系列连续的 RDDs(RDD 是 Spark 分布式数据集的抽象)。在一个 DStream 中每个 RDD 包含来自一定时间间隔的数据。


image
上一篇下一篇

猜你喜欢

热点阅读