SparkStreaming源码解读

一、SparkStreaming的核心原理

     将连续的流数据通过时间间隔的形式划分为离散的流数据,即为某段时间的数据。

二、SparkStreaming框架的核心思想

    1、流的输入:InputStreams  --> 源数据

    2、流的输出:outputDStreams --> 要计算的结果数据

三、整体架构:

    

 

四、具体的解决方案(源码版本为1.6.3)

1、使用DStreamingGraph来做基本的划分

     

 

2、输入流:通过StreamingContext设置输入流

     

     ReceiverInputDStream 的getReceiver 方法是如何获取流数据,compute方法是计算时通过这个方法获取数据

     

 

3、输出流

    Job的生成

   

   放入DStreamGraph 的outputStream 中

   

 

 开始调度

  

 

  

 

  

  

  

  

  

 Jobs的生成和提交

  

  

  

 

 

 需要注意的是高级的数据源的接收可以有多种方案,详情可查看官网。(http://spark.apache.org/docs/1.6.3/streaming-kafka-integration.html)

 

 

    

posted @ 2017-06-23 14:00  I'm_kylin  阅读(1028)  评论(0编辑  收藏  举报