Spark Streaming源码
shark.zyq
work@alibaba
hangzhou
展开
-
spark streaming源码分析5 checkpoint
spark streaming是一个7*24小时工作的实时处理系统,所以必须保证从故障中恢复的能力。由于streaming 实际上是以小batch数据周期性的执行类似spark core中RDD的计算,所以,其worker节点的容错也就天然的继承了。但是,spark core的数据来源一般存在于hdfs中,所以并没有做driver这一层的容错保证,出错时只要重跑就可以了。而spark streaming的数据来源一般为网络、kafka等,在driver异常时,需要有机制保证从哪里继续读取计算,未完成的job原创 2015-10-20 22:31:20 · 1070 阅读 · 0 评论 -
spark streaming源码分析1 StreamingContext
博客地址: http://blog.csdn.net/yueqian_zhu/一、API:二、StreamingContext主要的构造逻辑(checkpoint暂不讨论)1、构造一个graph: DStreamGraph作用于DStream上的operation分成两类 1. Transformation,2. Output 表示将输出结果。DStreamGraph 有输入就要有输出,如果没有输出,则前面所做的所有动作全部没有意义,那么如何将这些输入和输出绑定起来呢?这个问题的解决就依赖于DStr原创 2015-10-12 19:56:35 · 1725 阅读 · 0 评论 -
spark streaming源码分析3 调度及运行
博客地址: http://blog.csdn.net/yueqian_zhu/前面的两节内容介绍了StreamingContext的构造以及在此上的一系列操作。通过调用start方法,真正开始调度执行。首先校验状态是否是INITIALIZED,然后调用JobScheduler的start方法,并将状态设置为ACTIVE。1、首先构造一个事件类型为[JobSchedulerEvent]的循环器eventLoop(包含JobStarted,JobCompleted,ErrorReported三个事件),内原创 2015-10-13 18:59:41 · 993 阅读 · 0 评论 -
spark streaming源码分析2 从简单例子看DStream上的operation
博客地址: http://blog.csdn.net/yueqian_zhu/这一节学习一下Dstream上的operation部分1、调用socketTextStream方法,返回一个ReceiverInputDStream类型。它继承与InputDStream,InputDStream又继承于DStream (1)设置本身的InputDStream到DStreamGraph中 (2)获取streamId原创 2015-10-12 19:57:46 · 1693 阅读 · 0 评论 -
spark streaming源码分析4 DStream相关API
博客地址: http://blog.csdn.net/yueqian_zhu/一、InputDStream创建的操作(StreamingContext.scala二、DStream操作(DStream.scala)三、K/V类型RDD转换操作原创 2015-10-14 18:21:24 · 2753 阅读 · 0 评论