Stream context 相当于spark context
做实时处理就得用到
setup之后如果close你需要重新创建一个,重启是不行的
词频统计,stream context
ssc.start()执行之后,上面代码段才会执行
一系列不停的RDD
Receives接收器
创建多个receivers 你需要 在cluster里
Nifi可以往kafka送,或者sparksteaming从nifi拿
导包
如果已经常创建streamingcontext的话
随便给一个端口
打开网口
import org.apache.spark._
import org.apache.spark.streaming._
import org.apache.spark.streaming.StreamingContext._
val conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount")
val ssc = new StreamingContext(conf, Seconds(1))
Join必须是k,v
Rdd分解成若干个分区
不同的分区在不同的进程或者机器上
一个rdd很多分区,一个节点创建connection不可以传到另一个机器上,为了安全性考虑
所以连接是不可以被序列化或者反序列化
所以在一台机器上创建的connection不可以在多个分区上
所以要foreach每一个
聚合计算处理不一定基于bykey bywindow
只要有这些参数会自动进行窗口的存储
这是内置功能
下面可以自动还原 stream connection
如何实施 checkpointing
可以是kafka也可以是flume等等
结构和代码功能雷同
窗口滑动5-10次应该调用一下这个方法