SparkStreaming

大纲

1.SparkStreaming 介绍
2.SparkStreaming 原理与架构
3.DStream 介绍
4.DStream 相关操作
5.DStream 操作实战
6.DStream 操作实战
7.DStreams 的转换
8.SparkStreaming 的容错

讲解

什么是 SparkStreaming

Spark Streaming 类似于Apache Storm ,用于流式数据的处理。根据其官方文档介绍, Spark Streaming 有高吞吐量和容错能力强的特点。 Spark Streaming 支持的数据源有很多。数据输入后可以用 Spark 的高度抽象操作如: 等进行运算。而结果也能保存再很多地方,如 HDFS ,数据库等,另外 Spark Streaming 也能和 MLlib (机器学习) 以及 Graphx 完美融合。


1.1.2 为什么要学习 SparkStreaming

易用

可以像编写离线批处理一样去编写流式程序,支持 java / scala / python 语言

容错

SparkStreaming 再没有额外代码和配置的情况下可以恢复丢失的工作

易整合到体系

流式处理与批处理和交互式查询相结合

1.1.3 SparkStreaming 与 Strom 的对比

SparkSreaming 原理与架构

2.1 SparkStreming 原理

SparkSreaming 是基于 spark 的流式批处理引擎,其基本原理是把输入数据以某一时间间隔批处理,当批处理间隔缩短至秒级时,便可以用于处理实时数据流.

2.2 SparkStreaming 计算流程

Spark Streaming 是将流式计算分解成一系列短小的批处理作业,这里的批处理引擎是 Spark Core, 也就是把 Spark Streaming 的输入数据按照 batch size (如1秒) 分成一段一段的数据 ( Discretized Stream ),每一段数据都转换成 Spark 中的RDD ,然后将 Spark Streaming 中对 DStream 的 Transformation 操作变为针对 Spark 中对 RDD 的 Transformation 操作,将 RDD经过操作变成中间结果保存

你可能感兴趣的:(SparkStreaming)