Spark Stream学习总结:
1. Spark Stream 基于DStream,离散化数据流来处理流数据。相当于RDD对于Spark而言。
DStream本质上是有一串时间上离散的RDD组成。
2. 要处理流数据,首先要创建一个StreamContext, 而StreamContext在底层会创建出SparkContext,以下例子是创建一个streamContext,其中第二个参数指定了多少时间处理一次新数据的时间间隔,并用socketTextStream方法监听本地7777端口的数据流,将接收到的数据流转化为Dstream
val ssc = newe StreamContext(conf, Seconds(1))
val = lines = ssc.socketTextStream("localhost", 7777)
val errorLines = lines.filter(_.contains("error"))
errrorLines.print()
scc.start() //启动流计算环境
scc.awaitTermination()// 执行会在另一个进程里完成,所以要等待完成
3. Spark Stream 架构:
Spark Streaming 使用微批次架构,将流计算当做一系列连续的小规模批处理来对待。通过将一段时间上的流数据,进行相等时间间隔的分割,形成一串离散的数据批次。