spark streaming是准实时的一种流处理手段,其中核心在于较短时间间隔内持续运行。
其中主要包含以下几个模块,
- streaming context
- 数据接收器(Reciever)
- DStream
- Transform数据转换处理模块
- 应用启动start
下面详细说明其中每一项
Streaming context
是用来初始化spark streaming的,类似于程序的入口。
在定义数据接收器Reciever的时候,需要设置相关的时间间隔参数,就是类似于多久spark streaming运行一次(比如一秒)
而接收器的类型也有多种,比如:
- QueueStream(这个通常用来做实验)
- hdfs Stream
- kafka
先实验一下 QueueStream,这个是在内存中写入相关数据,然后spark streaming来处理:
import org.apache.spark.rdd.RDD
import org.apache.spark.streaming.{Seconds, StreamingContext}
val ssc = new StreamingContext(sc, Seconds(1))// 初始化streaming context,时间间隔为1s
val rddQueue = new Queue[RDD[Int]]()//创建一个类型Queue,其类型为Int类型的RDD
运行结果如下: