Spark Streaming原理

1-- 原理:

            
    
 

Spark Streaming中,会有一个接收器组件Receiver,作为一个长期运行的task跑在一个Executor上。Receiver接收外部的数据流形成input DStream

DStream会被按照时间间隔划分成一批一批的RDD,当批处理间隔缩短到秒级时,便可以用于处理实时数据流。时间间隔的大小可以由参数指定,一般设在500毫秒到几秒之间。

DStream进行操作就是对RDD进行操作,计算处理的结果可以传给外部系统。

Spark Streaming的工作流程像下面的图所示一样,接受到实时数据后,给数据分批次,然后传给Spark Engine处理最后生成该批次的结果。

总结:

  1.     对于源源不断到来的实时数据 Spark Streaming会开启一个 Receiver接收器来接收这些数据组成 DStream
  2. 但是对于 SparkStreaming来说只能做的近实时,即对每一小批次的数据进行处理所以可以设置一个时间间隔(如5s)对 DStream进行划分划分出来的数据就是一个个的RDD那么接下来就是对RDD进行计算就ok了计算结果可以输出到各种数据源

注意:

        如果使用本地模式 local[N]N至少为2,1个用来接收1个用来计算
 
 



原文地址:https://www.cnblogs.com/TiePiHeTao/p/9060f178c1939f55ed9b8203cdb85277.html