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

Spark Shuffle原理与源码解析

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

2018-05-23 19:46:20

阅读数:12

评论数:0

Spark Task原理与源码分析

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

2018-05-22 12:50:49

阅读数:3

评论数:0

Spark Executor原理与源码解析

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

2018-05-20 09:58:47

阅读数:5

评论数:0

Spark TaskSchduler任务分配源码解析

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

2018-05-18 18:13:25

阅读数:6

评论数:0

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

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

2018-05-17 16:18:23

阅读数:4

评论数: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

阅读数:7

评论数:0

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

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

2018-05-14 19:50:31

阅读数:11

评论数:0

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

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

2018-05-12 18:10:03

阅读数:209

评论数:0

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

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

2018-05-12 16:42:45

阅读数:61

评论数:0

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

Master的注册原理,如下图

2018-05-11 20:18:48

阅读数:8

评论数:0

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

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

2018-05-10 15:35:14

阅读数:29

评论数:0

SparkContext原理分析与源码分析

①SparkContext的运行原理

2018-05-09 21:41:11

阅读数:8

评论数: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

阅读数:3

评论数:0

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

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

2018-05-07 11:55:35

阅读数:10

评论数:0

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

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

2018-05-07 10:10:24

阅读数:6

评论数:0

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

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

2018-04-19 16:48:33

阅读数:63

评论数:0

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

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

2018-03-30 14:49:56

阅读数:5

评论数:0

nodejs快速入门(三)-模块引入与加载机制

        本篇文章介绍nodejs的模块引入与加载机制。(一)模块引入与常用内置对象    1、module        nodejs认为一个js文件就是一个模块,每个模块都有一个全局对象module,同时module对象中有一个对象exports。 这个对象被加载一次之后会别缓存,里面提...

2018-03-28 16:24:15

阅读数:14

评论数:0

nodejs快速入门(二)-nodejs

    NodeJS是运行在Chrome V8引擎上,解析JavaScript的运行环境。其特点事件驱动、无阻塞IO,轻量级,运行高效,基于npm管理。(1)NodeJS与JavaScript的区别        NodeJS是运行解析JavaScript脚本的运行环境,相当云Java对JVM。(...

2018-03-28 16:23:35

阅读数:30

评论数:1

nodejs快速入门(一)-模块化开发

    随着网站开发的复杂度越来越高,js代码和js文件的增多,出现了开发者头疼的两个问题:① 命名冲突;②文件依赖。js模块化开发可以解决这些问题。   ①变量命令冲突        在js文件中,如下创建一个变量并赋予一个函数。如果文件的代码过多,在后续的代码中再次使用add变量,就会将原来的...

2018-03-28 15:02:04

阅读数:33

评论数:0

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