Spark代码量
——Spark:20000loc
——Hadoop 1.0:90000loc
——Hadoop 2.0:220000loc
Spark生态系统代码量

Spark生态系统

概述
——构建Spark源代码阅读环境
——Spark源代码构成
——Spark源代码阅读方法
构建源码阅读环境

1.IDE
——Eclipse / IDEA
——可直接导入
2.编译源代码
——Spark使用maven作为源代码编译工具
——build/mvn -DskipTests clean package
——build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package
——https://github.com/apache/spark/blob/master/README.md
——http://spark.apache.org/docs/latest/building-spark.html

源码构造
Spark源码构成
——Spark Core
——Spark SQL
——Spark Streaming
——Spark MLlib
——Spark Graphx
——解释器
——提交模式:mesos,yarn,standalone

Spark Core源码阅读
——会编写Spark应用程序
1.SaprkContext
2.RDD
3.Transformation/action
——熟悉Spark基础架构
1.Driver/executor
2.YARN/ApplicationMaster/Container
——Spark运行模式
1.本地模式
2.YARN模式
3.Shell模式
——Spark On YARN模式:梳理代码脉络

追踪一个应用程序运行过程

bin/spark-submit --master yarn-cluster --class ...

——Spark On YARN 模式:分析具体算子执行
1.RDD表示
2.sc.textFile(“/input/a.txt”).count
3.sc.textFile(“/input/a.txt”).map(…).reduceByKey(…).saveAsTextFile(…)

参考资料:
——https://spark-internals.books.yourtion.com/
——Spark Shuffle :http://blog.csdn.net/johnny_lee/article/details/22619585

阅读方法:
Step 1:熟练开发Spark应用程序
——reduceByKey/groupByKey/sort/join/map/filter/flatMap …
Step 2:收集资料
——Spark源码分析文章,书籍
——站在别人肩上
Step 3:选择一个阅读模式
——比如Saprk的yarn-cluster模式
Step 4:理清模块脉络
——架构、流程、相关类
Step 5:深入细节
——类,变量,数据结构,算法等

Spark源码走读概述相关推荐

  1. Apache Spark源码走读之16 -- spark repl实现详解

    欢迎转载,转载请注明出处,徽沪一郎. 概要 之所以对spark shell的内部实现产生兴趣全部缘于好奇代码的编译加载过程,scala是需要编译才能执行的语言,但提供的scala repl可以实现代码 ...

  2. Apache Spark源码走读之6 -- 存储子系统分析

    Spark计算速度远胜于Hadoop的原因之一就在于中间结果是缓存在内存而不是直接写入到disk,本文尝试分析Spark中存储子系统的构成,并以数据写入和数据读取为例,讲述清楚存储子系统中各部件的交互 ...

  3. Apache Spark源码走读(九)如何进行代码跟读使用Intellij idea调试Spark源码

    <一>如何进行代码跟读 概要 今天不谈Spark中什么复杂的技术实现,只稍为聊聊如何进行代码跟读.众所周知,Spark使用scala进行开发,由于scala有众多的语法糖,很多时候代码跟着 ...

  4. Spark源码走读10——Spark On Yarn

    首先需要修改配置文件spark-env.sh.在这个文件中需要添加两个属性: Export HADOOP_HOME=/../hadoop.. ExportHADOOP_CONF_DIR=/../had ...

  5. Spark源码走读1——RDD

    RDD全称Resilient Distributed DataSets,弹性的分布式数据集.是Spark的核心内容. RDD是只读的,不可变的数据集,也拥有很好的容错机制.他有5个主要特性 -A li ...

  6. Apache Spark源码走读之8 -- Spark on Yarn

    欢迎转载,转载请注明出处,徽沪一郎. 概要 Hadoop2中的Yarn是一个分布式计算资源的管理平台,由于其有极好的模型抽象,非常有可能成为分布式计算资源管理的事实标准.其主要职责将是分布式计算集群的 ...

  7. Apache Spark源码走读之22 -- 浅谈mllib中线性回归的算法实现

    欢迎转载,转载请注明出处,徽沪一郎. 概要 本文简要描述线性回归算法在Spark MLLib中的具体实现,涉及线性回归算法本身及线性回归并行处理的理论基础,然后对代码实现部分进行走读. 线性回归模型 ...

  8. Apache Spark源码走读之3 -- Task运行期之函数调用关系分析

    概要 本篇主要阐述在TaskRunner中执行的task其业务逻辑是如何被调用到的,另外试图讲清楚运行着的task其输入的数据从哪获取,处理的结果返回到哪里,如何返回. 准备 spark已经安装完毕 ...

  9. Apache Spark源码走读之4 -- DStream实时流数据处理

    欢迎转载,转载请注明出处,徽沪一郎. Spark Streaming能够对流数据进行近乎实时的速度进行数据处理.采用了不同于一般的流式数据处理模型,该模型使得Spark Streaming有非常高的处 ...

最新文章

  1. 白鸦三次创业反思:公司遇问题 怎么走都对(转)
  2. 关于picgo中阿里云图床的设置
  3. jpa动态扩展sql_扩展您的JPA POJO
  4. 计算机交流会活动流程,新老生交流会活动方案
  5. VSTO:无法安装此应用程序,因为已安装具有相同标识的应用程序(亲测有效)
  6. c语言程序求对称矩阵,C语言经典算法上三角下三角对称矩阵
  7. python 的逻辑关系
  8. 各类经纬度转换工具类
  9. H265 CTU、CU、PU、TU划分的特点及要求
  10. 安徽农业大学计算机考研分数线,安徽农业大学考研录取分数线
  11. 微信公众号 和 微信小程序 用户数据互通 通过微信开放平台的UnionID机制
  12. 【U8+】用友U8+16.1不自动删除历史的自动备份文件
  13. 穆迪收购Omega Performance,加强在线信贷培训平台
  14. java pdf转png
  15. Unity基础:文本框、图片自适应(ContentSizeFitter、VerticalLayoutGroup等组件的使用)
  16. HDU 1425 sort
  17. 1D mesauring
  18. apache-maven-3.8.5配置
  19. Bluetooth资格认证(BQB)学习
  20. 我做碘131治疗的经历20190903

热门文章

  1. 容联云AI科学院研发先进KBQA能力,问鼎大规模中文知识图谱问答权威性测评
  2. 【原创题目】lym子集
  3. 如何使用Mock进行单元测试
  4. 轻松上手Manjaro之Manjaro系统配置
  5. 网页段落文字右侧参差不齐对齐方式
  6. POJ - 2528 (线段树区间染色 + 离散化)
  7. 2020年世界航天发射统计
  8. 公司的耍流氓行为,你知道几个?
  9. 利用opencv带你玩转人脸识别-中篇(人脸检测,检测多个,视频检测快速入门)
  10. AV1 motion filed projection