源码分析
文章平均质量分 96
七里香的阳光
这个作者很懒,什么都没留下…
展开
-
SparkRpc通信源码分析(简单易懂的源码分析)
本文我们介绍一下Spark的Rpc网络框架,Spark框架当中很多地方都涉及网络通信,比如Spark各个组件间的消息互通、用户文件与Jar包的上传、节点间的Shuffle过程、Block数据的复制与备份等,在Spark0.x.x与Spark 1.x.x版本中组件之间的消息通信都借助于Akka,但是在Spark2.0版本中,基于Akka实现的Rpc被废弃掉,2.x和之后都使用的是Netty。本文介绍的版本是Spark2.3 SparkRpc整体架构图 我们先拿一个混入RpcEndpoint的组件Master原创 2021-07-16 19:20:12 · 572 阅读 · 3 评论 -
MapReduce核心源码分析之MapTask OutPut(有对环形缓冲区的详细介绍以及详细的环形缓冲区的源码分析,让你对map输出阶段不在疑惑)
前文已经分析了Map Task的输入,这次我们来分析较为复杂的输出,看看Map Task的输出到底做了哪些事情,分析完之后,将会对我们学习MapReduce有很大的帮助 Map Task OutPut源码分析 这里依旧用的Hadoop的版本为2.7.2 ,工具是IDEA 由于上文我们已经有输入的分析,所以,这里直接找到MatpTask的run方法 我们直接往下看 , private <I...原创 2020-03-01 15:29:47 · 1081 阅读 · 5 评论 -
MapReduce核心Reduce Task源码分析
上文,已经对map的输入和输出做了源码分析,相信已经对map task的流程也都已经十分了解,现在,来分析一下Reduce的输入,因为输入是直接输出到HDFS了,这里不多做阐述。 Reduce Task分为四种,分别为Job-setup Task,Job-cleanup Task, Task-cleanup Task和Reduce Task,这里分析的是最后的普通的Reduce Task Redu...原创 2020-03-02 18:15:07 · 268 阅读 · 0 评论