![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 1735 阅读 · 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 · 1054 阅读 · 0 评论 -
Spark源码解读(2)——Worker启动过程
本文将讨论Spark以Standalone模式部署情况下,Worker的启动过程。上文已经对Master的启动过程进行了较为详细的分析,Worker的启动过程大部分的代码都是和Master复用的,对于这部分不再赘述。因此对Worker启动过程的分析从onStart()方法开始 override def onStart() { assert(!registered)原创 2016-07-20 18:05:19 · 707 阅读 · 0 评论 -
Spark源码解读(1)——Master启动过程
本文主要讨论Spark以Standalone模式部署情况下,Master的启动流程。原创 2016-07-20 14:56:20 · 2155 阅读 · 2 评论 -
Spark源码解读(5)——存储子系统
val env = SparkEnv.createExecutorEnv( driverConf, executorId, hostname, port, cores, isLocal = false)原创 2016-07-29 11:42:38 · 912 阅读 · 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 · 2259 阅读 · 0 评论 -
Spark源码解读(7)——内存管理
开始原创 2016-08-01 14:14:39 · 974 阅读 · 0 评论 -
Spark源码解读(8)——累加器
首先,看下以下代码:var value = 0sc.parallelize(1 to 10).foreach(i=>value += i)value这里value的结果仍然为0这个比较好解释:因为 i => value += i 这个Function在运算之前需要经历:序列化 --> broadcase --> 被Executor获取 --> 反序列化 --> 调用 等一系列过原创 2016-08-01 21:43:38 · 1039 阅读 · 0 评论