基于spark streaming的流数据处理和分析

版权声明:时刻对知识的探索与敬畏 https://blog.csdn.net/qq_37392932/article/details/83786999

Stream context 相当于spark context

做实时处理就得用到

 

setup之后如果close你需要重新创建一个,重启是不行的

 

 

词频统计,stream context

ssc.start()执行之后,上面代码段才会执行

 

一系列不停的RDD

 

 

Receives接收器

 

 

创建多个receivers 你需要 在cluster里

Nifi可以往kafka送,或者sparksteaming从nifi拿

在spark-shell实现wc

导包

 

如果已经常创建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))

RDD的join

 

Join必须是k,v

 

Rdd分解成若干个分区

不同的分区在不同的进程或者机器上

 

 

一个rdd很多分区,一个节点创建connection不可以传到另一个机器上,为了安全性考虑

 所以连接是不可以被序列化或者反序列化

 

所以在一台机器上创建的connection不可以在多个分区上

所以要foreach每一个

聚合计算处理不一定基于bykey  bywindow

 

 

 

只要有这些参数会自动进行窗口的存储

这是内置功能

 

下面可以自动还原 stream connection

 如何实施 checkpointing

可以是kafka也可以是flume等等

结构和代码功能雷同

 

 

窗口滑动5-10次应该调用一下这个方法 

展开阅读全文

没有更多推荐了,返回首页