摘要:
Spark Streaming揭秘 Day14 State状态管理 今天让我们进入下SparkStreaming的一个非常好用的功能,也就State相关的操作。State是SparkStreaming中用来管理历史数据的结构。目前主要提供了updateStateByKey和MapWithStateR 阅读全文
摘要:
Spark Streaming揭秘 Day13 数据安全容错(Driver篇) 书接上回,首先我们要考虑的是在Driver层面,有哪些东西需要维持状态,只有在需要维持状态的情况下才需要容错,总的来说,一共有三个组件需要容错: 数据层面:ReceiverBlockTracker,专门负责管理整个Sp 阅读全文
摘要:
Spark Streaming揭秘 Day12 数据安全容错(Executor篇) 今天,让我们研究下SparkStreaming在Executor端的数据安全及容错机制。 在SparkStreaming中一共使用了两种容错方式: 1. 存储数据副本 2. 支持数据重放 副本机制 这是默认的处理方式 阅读全文
摘要:
Spark Streaming揭秘 Day11 Receiver Tracker的具体实现 ReceiverTracker是运行在Driver上Receiver管理程序,今天让我们深入学习一下。 核心:ReceivedBlockTracker 通过阅读代码,我们会发现ReceiverTracker中 阅读全文
摘要:
Spark Streaming揭秘 Day10 从BlockGenerator看接收数据的生命周期 昨天主要介绍了SparkStreaming中对于Receiver的生命周期管理,下面让我们进入到Receiver内部,研究下其工作机制。 首先,先总结下SparkStreaming中接收数据的特点: 阅读全文
摘要:
Spark Streaming揭秘 Day9 从Receiver的设计到Spark框架的扩展 Receiver是SparkStreaming的输入数据来源,从对Receiver整个生命周期的设计,我们可以充分领略到Spark框架设计之巧妙,废话少说,让我们来看代码。 解决的问题 在开始之前,让我们先 阅读全文
摘要:
Spark Streaming揭秘 Day8 RDD生命周期研究 今天让我们进一步深入SparkStreaming中RDD的运行机制。从完整的生命周期角度来说,有三个问题是需要解决的: RDD到底是怎么生成的 具体执行的时候和Spark Core上的执行有所不同 运行之后对RDD如何处理,怎么对已 阅读全文
摘要:
Spark Streaming揭秘 Day7 再探Job Scheduler 今天,我们对Job Scheduler再进一步深入一下,对一些更加细节的源码进行分析。 Job Scheduler启动 在Job Scheduler的启动代码中,我们发现其采用了新建Thread的方式来启动代码 在更早的S 阅读全文
摘要:
Spark Streaming揭秘 Day6 关于SparkStreaming Job的一些思考 Job是SparkStreaming的重要基础,今天让我们深入,进行一些思考。 Job是什么? 首先,有个挺重要的概念要区分下,就是SparkStreaming中的Job和Spark core的Job并 阅读全文
摘要:
Spark Streaming揭秘 Day5 初步贯通源码 引子 今天,让我们从Spark Streaming最重要的三个环节出发,让我们通过走读,逐步贯通源码,还记得Day1提到的三个谜团么,让我们开始解密吧。 1.创建StreamingContext StreamingContext是Spark 阅读全文