Spark Streaming原理
1-- 原理:
Spark Streaming中,会有一个接收器组件Receiver,作为一个长期运行的task跑在一个Executor上。Receiver接收外部的数据流形成input DStream
DStream会被按照时间间隔划分成一批一批的RDD,当批处理间隔缩短到秒级时,便可以用于处理实时数据流。时间间隔的大小可以由参数指定,一般设在500毫秒到几秒之间。
对DStream进行操作就是对RDD进行操作,计算处理的结果可以传给外部系统。
Spark Streaming的工作流程像下面的图所示一样,接受到实时数据后,给数据分批次,然后传给Spark Engine处理最后生成该批次的结果。
总结:
- 对于源源不断到来的实时数据 Spark Streaming会开启一个 Receiver接收器来接收这些数据组成 DStream
- 但是对于 SparkStreaming来说只能做的近实时,即对每一小批次的数据进行处理所以可以设置一个时间间隔(如5s)对 DStream进行划分划分出来的数据就是一个个的RDD那么接下来就是对RDD进行计算就ok了计算结果可以输出到各种数据源
注意:
如果使用本地模式 local[N]N至少为2,1个用来接收1个用来计算
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。