- 博客(5)
- 资源 (7)
- 收藏
- 关注
原创 spark源码分析九(SparkEnv shuffleManager)
SparkEnv源码版本2.4.7shufflemanager实例是SortShuffleManagerspark数据shuffle读写是通过 SparkEnv.get.shuffleManager控制完成的shuffleRdd的compute是通过SparkEnv.get.shuffleManager.getReader而shuffleMaptask的write也是通过SparkEnv.get.shuffleManager.getWritershufflerdd->getDependen
2020-12-16 17:01:43 321
原创 spark源码分析八(SparkEnv BlockManager)
SparkEnv源码版本2.4.7SparkContext有一核心属性_env即SparkEnv,持有所有spark运行实例的环境对象,序列化、RPCEnv、块管理、MapOutputTracker(shuffle输出相关的记录)等等首先看看其基本属性class SparkEnv ( val executorId: String, private[spark] val rpcEnv: RpcEnv, val serializer: Serializer, val cl
2020-12-14 12:48:12 255
原创 spark源码分析七(SparkContext - runJob)
SparkContext源码版本2.4.7上一篇分析完Executor的注册启动流程,接下来看rdd.action[foreach,collect,save,…]-> sc.runJob(rdd,iter=>f)最终调用的的SparkContext的DAGScheduler的runJobrunJob->submitJob-> eventProcessLoop.post(JobSubmitted)->eventQueueeventQueue->doOnRecei
2020-12-07 21:45:03 302
原创 各大开源项目-源码阅读技巧
一 抓小放大非主流程的代码直接跳过二八法则(20%的主流程代码集中了80%常用功能,看懂这20%就足够了)最重要的一点:不要在细节上浪费时间,先看懂主流程!!!二 连蒙带猜方法名,注释,依赖,流程逻辑等等三 断点调试复杂琐碎不易懂代码直接断点如有回调所有可能回调的入口都加断点四 阅读流程首先梳理需要使用的功能顺着需要用到的功能点挨个往下看服务启动开始看找不到头绪时可以首先关注重写或者重载的方法找到一个类线索断了,可以找找这个类里有什么方法,优先看看重写或者实现父类
2020-12-07 16:37:32 209
原创 spark源码分析六(SparkContext - Executor)
SparkContext源码版本2.4.7书接上回Master通过scheule水平划分完Executor资源后,执行launchExecutor操作,通过wokerEndpoint引用向worker发送LaunchExecutor指令,顺序执行向driver发送 ExecutorAdded 消息 private def launchExecutor(worker: WorkerInfo, exec: ExecutorDesc): Unit = { logInfo("Launching
2020-12-01 17:30:31 194
elasticsearch5.3.0jdbc源码工程
2017-06-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人