Spark介绍(三)SparkStreaming

一、SparkStreaming简介

SparkStreaming是一个对实时数据流进行高通量、容错处理的流式处理系统,可以对多种数据源(如KdfkaFlumeTwitterZeroTCP 套接字)进行类似MapReduceJoin等复杂操作,并将结果保存到外部文件系统、数据库或应用到实时仪表盘

                                    

                                                                        Spark Streaming处理的数据流图

                                                      

                                                                              Spark Streaming构架

二、DStream简介

1.Dstream离散流由一系列连续的RDD组成,每个RDD都包含了确定时间间隔内的数据。

2.DStream中数据的各种操作也是映射到内部的RDD上来进行的

3.Dstream的输入源包括基本源(文件系统和Socket(套接字)连接)和高级源( KafkaFlumeKinesisTwitter 等,额外增加类依赖)

三、DStream操作

1.1普通的转换操作mapflatMapflterunioncountjoin

1.2transform(func)操作:允许DStream 上应用任意RDD-to-RDD函数

1.3updateStateByKey操作:

1.4窗口转换操作: 允许你通过滑动窗口对数据进行转换,如countByWindow reduceByKeyAndWindow等,(批处理间隔、窗口间隔和滑动间隔)

2.输出操作:允许DStream的数据被输出到外部系统,如数据库或文件系统,有print()foreachRDD(func)saveAsTextFiles() saveAsHadoopFiles()

3.持久化:通过persist()方法将数据流存放在内存中,有利于高效的迭代运算

猜你喜欢

转载自blog.csdn.net/kxiaozhuk/article/details/82699366