park Streaming支持实时数据流的可扩展(Scalable)、高吞吐(high-throughput)、容错(fault-tolerant)的流处理(stream processing)。
架构图
特性如下:
• 可线性伸缩至超过数百个节点;
• 实现亚秒级延迟处理;
• 可与 Spark 批处理和交互式处理无缝集成;
• 提供简单的API实现复杂算法;
• 更多的流方式支持,包括 Kafka、Flume、Kinesis、Twitter、ZeroMQ 等。
001、原理
Spark 在接收到实时输入数据流后,将数据划分成批次(divides the data into batches),然后转给 Spark Engine 处理,按批次生成最后的结果流(generate the final stream of results in batches)。
002、API
DStream:
DStream(Discretized Stream,离散流)是 Spark Stream 提供的高级抽象连续数据流。
组成:一个 DStream 可看作一个 RDDs 序列。
核心思想:将计算作为一系列较小时间间隔的、状态无关的、确定批次的任务,每个时间间隔内接收的输入数据被可靠存储在集群中,作为一个输入数据集。
特性:一个高层次的函数式编程 API、强一致性以及高校的故障恢复。
应用程序模板:
模板1
模板2
WordCount示例