Spark源码走读概述
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源码走读概述相关推荐
- Apache Spark源码走读之16 -- spark repl实现详解
欢迎转载,转载请注明出处,徽沪一郎. 概要 之所以对spark shell的内部实现产生兴趣全部缘于好奇代码的编译加载过程,scala是需要编译才能执行的语言,但提供的scala repl可以实现代码 ...
- Apache Spark源码走读之6 -- 存储子系统分析
Spark计算速度远胜于Hadoop的原因之一就在于中间结果是缓存在内存而不是直接写入到disk,本文尝试分析Spark中存储子系统的构成,并以数据写入和数据读取为例,讲述清楚存储子系统中各部件的交互 ...
- Apache Spark源码走读(九)如何进行代码跟读使用Intellij idea调试Spark源码
<一>如何进行代码跟读 概要 今天不谈Spark中什么复杂的技术实现,只稍为聊聊如何进行代码跟读.众所周知,Spark使用scala进行开发,由于scala有众多的语法糖,很多时候代码跟着 ...
- Spark源码走读10——Spark On Yarn
首先需要修改配置文件spark-env.sh.在这个文件中需要添加两个属性: Export HADOOP_HOME=/../hadoop.. ExportHADOOP_CONF_DIR=/../had ...
- Spark源码走读1——RDD
RDD全称Resilient Distributed DataSets,弹性的分布式数据集.是Spark的核心内容. RDD是只读的,不可变的数据集,也拥有很好的容错机制.他有5个主要特性 -A li ...
- Apache Spark源码走读之8 -- Spark on Yarn
欢迎转载,转载请注明出处,徽沪一郎. 概要 Hadoop2中的Yarn是一个分布式计算资源的管理平台,由于其有极好的模型抽象,非常有可能成为分布式计算资源管理的事实标准.其主要职责将是分布式计算集群的 ...
- Apache Spark源码走读之22 -- 浅谈mllib中线性回归的算法实现
欢迎转载,转载请注明出处,徽沪一郎. 概要 本文简要描述线性回归算法在Spark MLLib中的具体实现,涉及线性回归算法本身及线性回归并行处理的理论基础,然后对代码实现部分进行走读. 线性回归模型 ...
- Apache Spark源码走读之3 -- Task运行期之函数调用关系分析
概要 本篇主要阐述在TaskRunner中执行的task其业务逻辑是如何被调用到的,另外试图讲清楚运行着的task其输入的数据从哪获取,处理的结果返回到哪里,如何返回. 准备 spark已经安装完毕 ...
- Apache Spark源码走读之4 -- DStream实时流数据处理
欢迎转载,转载请注明出处,徽沪一郎. Spark Streaming能够对流数据进行近乎实时的速度进行数据处理.采用了不同于一般的流式数据处理模型,该模型使得Spark Streaming有非常高的处 ...
最新文章
- 白鸦三次创业反思:公司遇问题 怎么走都对(转)
- 关于picgo中阿里云图床的设置
- jpa动态扩展sql_扩展您的JPA POJO
- 计算机交流会活动流程,新老生交流会活动方案
- VSTO:无法安装此应用程序,因为已安装具有相同标识的应用程序(亲测有效)
- c语言程序求对称矩阵,C语言经典算法上三角下三角对称矩阵
- python 的逻辑关系
- 各类经纬度转换工具类
- H265 CTU、CU、PU、TU划分的特点及要求
- 安徽农业大学计算机考研分数线,安徽农业大学考研录取分数线
- 微信公众号 和 微信小程序 用户数据互通 通过微信开放平台的UnionID机制
- 【U8+】用友U8+16.1不自动删除历史的自动备份文件
- 穆迪收购Omega Performance,加强在线信贷培训平台
- java pdf转png
- Unity基础:文本框、图片自适应(ContentSizeFitter、VerticalLayoutGroup等组件的使用)
- HDU 1425 sort
- 1D mesauring
- apache-maven-3.8.5配置
- Bluetooth资格认证(BQB)学习
- 我做碘131治疗的经历20190903