首页 > 代码库 > SparkStreaming源码解读

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)

 

 

    

SparkStreaming源码解读