
spark
文章平均质量分 88
scalahome
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spark源码解读(3)——从集群启动到Job提交
1,Master启动 Master启动过程主要做了两件事: 1)启动一个守护线程定时对Worker的TimeOut进行Check,默认TimeOut时间为60s checkForWorkerTimeOutTask = forwardMessageThread.scheduleAtFixedRate(new Runnable { override def run(): Un原创 2016-07-26 17:34:25 · 1803 阅读 · 1 评论 -
Spark源码解读(4)——RDD
1,RDD的转换共分为Transformation和Action两类 Transformation和Action的区别在于:Action会触发作业的提交,而Transformation不会触发作业的提交 如map()和collect() def map[U: ClassTag](f: T => U): RDD[U] = withScope { val cleanF = sc.cl原创 2016-07-27 13:01:12 · 1140 阅读 · 0 评论 -
Spark源码解读(2)——Worker启动过程
本文将讨论Spark以Standalone模式部署情况下,Worker的启动过程。 上文已经对Master的启动过程进行了较为详细的分析,Worker的启动过程大部分的代码都是和Master复用的,对于这部分不再赘述。因此对Worker启动过程的分析从onStart()方法开始 override def onStart() { assert(!registered)原创 2016-07-20 18:05:19 · 764 阅读 · 0 评论 -
Spark源码解读(1)——Master启动过程
本文主要讨论Spark以Standalone模式部署情况下,Master的启动流程。原创 2016-07-20 14:56:20 · 2244 阅读 · 2 评论 -
Spark源码解读(5)——存储子系统
val env = SparkEnv.createExecutorEnv( driverConf, executorId, hostname, port, cores, isLocal = false)原创 2016-07-29 11:42:38 · 971 阅读 · 0 评论 -
Spark源码解读(6)——Shuffle过程
Shuffle应该说是Spark Core中较为复杂的部分,本文主要从一个最简单的WordCount例子出发分析Spark的Shuffle过程: sc.parallelize(1 to 1000).map(i=>(i%5,1)).reduceByKey(_+_).collect() 计算过程中会分成两个Stage如下图所示: 每个Stage由多个Task组成,同一Stage的各Task并原创 2016-07-28 18:48:43 · 2380 阅读 · 0 评论 -
Spark源码解读(7)——内存管理
开始原创 2016-08-01 14:14:39 · 1031 阅读 · 0 评论 -
Spark源码解读(8)——累加器
首先,看下以下代码: var value = 0 sc.parallelize(1 to 10).foreach(i=>value += i) value这里value的结果仍然为0 这个比较好解释: 因为 i => value += i 这个Function在运算之前需要经历:序列化 --> broadcase --> 被Executor获取 --> 反序列化 --> 调用 等一系列过原创 2016-08-01 21:43:38 · 1088 阅读 · 0 评论