大数据实战(3)---实时流处理:Spark Streaming

1.概述

1)可扩展、高吞吐量、容错的

2)将不同数据源数据经过Spark Streaming处理,将处理结果输出到外部文件系统

大数据实战(3)---实时流处理:Spark Streaming

 特点:低延时、能从错误中高效的恢复:fault-tolerant、能够运行在成百上千的节点、能够将批处理、机器学习、图计算等子框架和Spark Streaming综合使用。

2.核心组件

基于Spark Core(离线处理)=>1)Spark Steaming 流处理

                                                   2)GraphX 图形处理

                                                   3)MLlib 机器学习

                                                   4)SparkSQL SQLAPI

(PS :

   RDD:弹性分布式数据集,Spark中最基本的数据抽象(不可变、可分区的集合)

              特点:自动容错、位置感知性调度和可伸缩性

  )

*Spark Core 与 Spark Steaming 计算代码基本一致,可以无缝衔接

*Spark-submit:提交(生产使用)

 Spark-shell:提交(测试使用,不用打jar包)

3.工作原理

大数据实战(3)---实时流处理:Spark Streaming

1.粗粒度:Spark Streaming把接收的数据按时间段,切成一片片小的数据块,把小的数据块交给Spark Engine处理

2.细粒度:

大数据实战(3)---实时流处理:Spark Streaming

4.核心概念

1)Streaming Context(上下文),传conf及batch interval(处理间隔时间)

2)DStream:代表一系列不断的RDD

3)Input Dstreams:从源头接受过来的流

   Receivers:接收Input Dstreams(除了file Steam(文件系统))

4)TransFormations:修改来自Input DStream的数据保存为Input DStream(通RDDS)

5)Output Operations:将DBstream写入到外部dataBase or file systems

大数据实战(3)---实时流处理:Spark Streaming

大数据实战(3)---实时流处理:Spark Streaming

 

Spark Steams处理文件系统注意事项:

    1)使用ssc.socketTextSteam(...)读取

    2)文件相同的数据格式

    3)嵌套、子目录的不支持

    4)文件移动或重命名,不可以在已有文件下添加(新加的不会被处理)