排序:
默认
按更新时间
按访问量

Spark Checkpoint原理与源码分析

1、Checkpoint的应用场景        Checkpoint,是Spark提供的一个比较高级的功能。有的时候啊,比如说,我们的Spark应用程序,特别的复杂,然后呢,从初始的RDD开始,到最后整个应用程序完成,有非常多的步骤,比如超过20个transformation操作。而且呢,整个应...

2018-06-02 17:33:54

阅读数:227

评论数:0

Spark CacheManager原理与源码分析

1、CacheManager在计算中位置与原理示意图2、源码解析RDD.scala final def iterator(split: Partition, context: TaskContext): Iterator[T] = { // storageLevel 不等于 NONE, ...

2018-05-25 09:54:09

阅读数:91

评论数:0

Spark BlockManager原理与源码分析

1、BlockManager原理示意图①Driver上的BlockManagerMaster管理各个节点上BlockManager的元数据信息和维护block的状态信息。②每个节点上BlockManager的每个组件:        DiskStore:负责磁盘上的数据读写        Memo...

2018-05-24 17:07:42

阅读数:135

评论数:0

Spark Shuffle原理与源码解析

1、普通的shuffle过程①假设节点上有2个ShuffleMapTask,节点上有2个cup core②ShuffleMapTask的输出,称为shuffle过程的第一个rdd,即MapPartitionRDD③每个ShuffleMapTask会为每一个task创建一份bucket内存缓存,以及...

2018-05-23 19:46:20

阅读数:77

评论数:0

Spark Task原理与源码分析

① task的原理示意图②task源码分析Executor.scala /** * 这里就是task运行的工作原理 */ class TaskRunner( execBackend: ExecutorBackend, val taskId: Long,...

2018-05-22 12:50:49

阅读数:50

评论数:0

Spark Executor原理与源码解析

①Executor原理示意图②Executor源码解析CoarseGrainedExecutorBackend.scala override def onStart() { logInfo("Connecting to driver: " + driv...

2018-05-20 09:58:47

阅读数:45

评论数:0

Spark TaskSchduler任务分配源码解析

在DAGSchduler.scala中,封装taskset,使用TaskSchduler提交了taskset,下面通过源码解析,TaskSchduler对task分配到executor和本地化级别。TaskSchdulerImpl.scala/** * taskSchduler 提交tas...

2018-05-18 18:13:25

阅读数:42

评论数:0

Spark DAGSchduler stage划分原理与源码解析

①stage划分的算法的原理DAGSchduler对stage的划分,从出发action操作开始,往前倒推。首先会为最后一个rdd创建一个stage,往前倒推的过程中如果rdd之间存在宽依赖又创建一个新的stage,之前的最后一个rdd就是最新的stage的最后一个rdd ,以此类推,根据窄依赖和...

2018-05-17 16:18:23

阅读数:58

评论数:0

Spark Job触发流程原理与源码解析

spark触发job的流程示意图:通过对wordcount案例解析,来分析spark job的触发流程。wordcount代码如下var linesRDD= sc.textFile('hdfs://') var wordsRDD = linesRDD.flatMap(line =&...

2018-05-15 18:34:18

阅读数:30

评论数:0

Spark Worker启动服务原理与源码解析

①启动driver服务源码分析Worker.scala case LaunchDriver(driverId, driverDesc) => logInfo(s"Asked to launch driver $driverId&qu...

2018-05-14 19:50:31

阅读数:37

评论数:0

Spark Master资源调度算算法源码分析

Master.scala的核心方法private def schedule(): Unit = { // 对master状态判断,是否为ALIVE,因为standby是不会进行资源调度的 if (state != RecoveryState.ALIVE) { retur...

2018-05-12 18:10:03

阅读数:244

评论数:0

Spark Master状态改变处理机制源码分析

①driver的状态改变case DriverStateChanged(driverId, state, exception) => state match { // 如果driver的状态为错误、完成、杀掉、失败,就移除 ca...

2018-05-12 16:42:45

阅读数:95

评论数:0

Spark Master的注册机制原理与源码分析

Master的注册原理,如下图

2018-05-11 20:18:48

阅读数:35

评论数:0

Spark Master主备切换原理与源码分析

standalone模式下的master可以有两个,而且支持主备切换,即当Active Master不能工作时,将Standby Master切换为Active Master。Spark Master切换有两种机制,一种是基于文件系统的如HDFS,需要手动切换、另一种是基于Zookeeper,动态...

2018-05-10 15:35:14

阅读数:59

评论数:0

SparkContext原理分析与源码分析

①SparkContext的运行原理

2018-05-09 21:41:11

阅读数:66

评论数:0

Spark基于Yarn的两种提交模式

①sparn on yarn-cluster模式②sparn on yarn-client提交模式一般,sparn on yarn-client在测试的时候使用,dirver运行在客户端,负责调度application。yarn-client模式下,driver在本地启动,全权负责所有任务调度,即...

2018-05-08 09:54:59

阅读数:30

评论数:0

spark rdd之间的宽依赖和窄依赖

①task从hdfs读取数据到linesRDD中,同一批task对linesRDD进行flatMap操作;②继续对wordsRDD做map操作,记录单词次数③这个地方会划分一个stage,新的一批task会提交到executor上,对pairs RDD做reduceByKey操作窄依赖(narro...

2018-05-07 11:55:35

阅读数:34

评论数:0

spark内核架构上的程序执行流程

对于spark程序开发,除了对spark程序熟练编程,向高手进阶,了解spark内核源码是承上启下的一个阶段。下面是spark程序执行流程图。后续文字会对每一个阶段以及重要的知识点,做深入分析,从源码层面更深入了解原理。...

2018-05-07 10:10:24

阅读数:27

评论数:0

广告平台精准推送系统解决方案架构

以上就是广告精准推送的一个架构图。广告联盟是由多家广告提供商提供形成的一个组织,提供了多个平台的收集到的数据进行整合,数据的分析、清理,计算、统计等,提供向需要投放广告的广告主提供了一个投放系统平台。当用户进入门户网站或者app时,不同的用户看到的是不同的广告,广告联盟的系统计算出了不同用户或者用...

2018-04-19 16:48:33

阅读数:691

评论数:0

nodejs快速入门(四)- NodeJS I/O

1、理解I/O    I/O(input / output),即输入输出,在电脑上的输入输出如音频录音是生意的输入,听音乐是声音的输出,在服务器上可以理解为读写操作。2、并发    指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一...

2018-03-30 14:49:56

阅读数:20

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭