在学习spark的过程中发现很多博客对概念和原理的讲解存在矛盾或者理解不透彻,所以开始对照源码学习,发现根据概念总结去寻找对应源码,能更好理解,但随之而来的问题是好多源码看不懂,只跑example的话好多地方跑不到,但是结合测试类理解起来就方便多了。fork一份源码,在未修改源码的情况下(修改源码后,比如加注释等,在编译阶段容易报错),使用gitbash进入项目的根目录下,执行下面2条命令使用mv
转载
2024-08-27 09:44:22
99阅读
说在前面的话
重新试多几次。编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,按ctrl+c,重新运行编译命令。
如果出现缺少了某个文件的情况,则要先清理maven(使用命令 mvn clean) 再重新编译。
Spark源码编译的3大方式 1、Maven编译 2、SBT编译 &
转载
2023-12-06 21:56:06
29阅读
本篇源码基于赵星对Spark 1.3.1解析进行整理。话说,我不认为我这下文源码的排版很好,不能适应的还是看总结吧。 虽然1.3.1有点老了,但对于standalone模式下的Master、Worker和划分stage的理解是很有帮助的。 =====================================================总结: master和worker都要创建ActorS
spark版本: 2.0.01.引入为了简单测试项目功能,我们可能只需要使用spark-shell就可以完成,但是企业级项目我们都是先打包好之后使用spark-submit脚本完成线上的spark项目部署。./bin/spark-submit \
--class com.example.spark.Test \
--master yarn \
--deploy-mode client \
/hom
转载
2023-10-11 10:06:06
76阅读
作业执行源码分析当我们的代码执行到了action(行动)操作之后就会触发作业运行。在Spark调度中最重要的是DAGScheduler和TaskScheduler两个调度器,其中,DAGScheduler负责任务的逻辑调度, 将作业拆分为不同阶段的具有依赖关系的任务集。TaskScheduler则负责具体任务的调度执行。提交作业WordCount.scala执行到wordSort.collect(
转载
2024-02-20 23:27:36
109阅读
Spark2.1.0 源码编译第一步 确保没有设置Spark环境变量gedit ~/.bashrc如有设置SPARK_HOME,则需移除或注释source ~/.bashrc第二步 设置Maven的国内镜像源cd /usr/local/maven
gedit ./conf/settings.xml<mirror>
<id>central</id>
&
转载
2023-11-29 08:58:52
74阅读
一.简介 Spark对程序提供了非常灵活的配置方式,可以使用环境变量、配置文件、命令行参数,还可以直接在Spark程序中指定,不同的配置方式有不同的优先级,可以相互覆盖。而且这些配置的属性在Web界面中可以直接看到,非常方便我们管理配置。二.Spark程序配置加载过程 Spark程序一般都是由脚本bin/spark-submit来提交的,交互式编程bin/spark-shell其实也是通过它来
转载
2023-08-08 13:06:36
131阅读
# 如何修改 Spark 源码:新手指南
Apache Spark 是一个强大的开源大数据处理框架。在开发和优化 Spark 的过程中,可能会需要对其源码进行修改。对于刚入行的新手来说,可能觉得这是一项复杂的任务,但实际上只要按照一定的流程,步骤是相对明确的。下面,我将为你详细介绍如何实现这一目标。
## 流程概览
以下是修改 Spark 源码的基本步骤:
| 步骤 | 描述 |
|---
一.本文记录内容:使用Mac,对spark源码进行编译二.前期准备:Java8、Scala2.12.11、Maven3.6.3安装配置完成;Spark3.0.0源码已下载三.编译步骤:1.修改源码中的./dev/make-distribution.sh 文件:1)修改MVN="$MAVEN_HOME/bin/mvn"2.修改spark源码的pom.xml文件,将Maven仓库改成阿里云仓库cent
转载
2023-07-05 18:11:28
216阅读
## **Spark源码修改与提交方案**
### **1. 背景介绍**
Apache Spark是一个快速、通用的集群计算系统,可以用于大数据处理。在使用Spark过程中,可能会遇到一些bug或者需要定制化需求,这时就需要对Spark源码进行修改并提交。
### **2. 方案流程**
#### **2.1 下载Spark源码**
首先,我们需要从官方仓库中下载Spark的源码。可以
原创
2024-03-08 06:23:47
76阅读
Spark编译有两种处理方式,第一种是通过SBT,第二种是通过Maven。作过Java工作的一般对于Maven工具会比较熟悉,这边也是选用Maven的方式来处理Spark源码编译工作。在开始编译工作前应当在自己的系统中配置Maven环境参考Linux上安装Maven方案:http://www.runoob.com/maven/maven-setup.html
转载
2024-09-02 10:38:35
214阅读
最近准备开始看spark源码,第一步当然是要搭建一个舒适的spark源码阅读环境,通过单步调试才能顺藤摸瓜的理清具体脉络,有助与提高阅读效率。在搭建环境过程中,遇到一些奇怪的错误,但居然都鬼使神差的搞定了,人品啊,哈哈哈Spark的源码使用scala语言编写的,说到scala的IDE工具,首选当然是idea,idea安装scala插件我这里就详说了,除了idea外,我们还需要安装的软件有:mave
转载
2023-08-07 01:25:05
104阅读
前言之前,一直在考虑,如何延续职业生涯.虽然刚入职,但是危机意识告诉我,不能当咸鱼.拒绝996的同时,也要自我学习,才不至于早早被扫地出门.哪怕考公务员也要学习[手动吃瓜].
受到我们部门leader的启发,我决定深入探讨一个工具,钻研源码,做到"精通"一个工具.
由Spark始吧.
本系列,主要参考了耿嘉安的深入理解Spark核心思想与源码分析.可以理解成我照猫画虎,更新了自己的一版本吧.
就从
转载
2024-02-29 16:57:49
67阅读
Spark源码系列(二) Dependency&ReduceBykey源码 文章目录Spark源码系列(二) Dependency&ReduceBykey源码DependencyShuffleDependency 在Spark源码系列(一)RDD的文章中,主要提到了RDD的由来、原理以及主要的Transformation&Action算子。其中依赖和reduceBykey
转载
2023-10-05 16:09:56
58阅读
Spark源码梳理一、程序的起点spark-submit --class com.sjh.example.SparkPi --master local[*] …/demo.jar在windows下调用spark-submit.cmd在linux下调用spark-submit脚本脚本调用顺序:1、spark-submit2、 spark-submit2.cmdspark-class2.cmd org
转载
2023-10-05 16:42:41
123阅读
Spark Shuffle 源码在划分stage时,最后一个stage称为finalStage,它本质上是一个ResultStage对象,前面的所有stage被称为ShuffleMapStage。 ShuffleMapStage的结束伴随着shuffle文件的写磁盘。 ResultStage基本上对应代码中的action算子,即将一个函数应用在RDD的各个partition的数据集上,意味着一个j
转载
2024-08-16 13:35:51
35阅读
前言:spark源码分析系列 ,文中有错误的地方 请多多指正。体系架构如下,可以看出spark是一个全兼容的生态圈,不一定是最好的,但是是最全面的,一个spark生态圈就可以解决绝大多数数的大数据问题。一、spark基本概念1.Application:就是一个程序,一个jar包,一个war包,也就是通过spark-submit提交的程序2.Driver:就是为这个应用所提供的运行环境,上
转载
2023-09-27 22:15:39
91阅读
RDD之getNarrowAncestors内部方法分析最近开始spark的源码攻关,其实看源码一直是我最怕的东西,因为太多、太杂、太深导致不能够很好的把我脉络导致每次最后都放弃。有人跟我说看源码可以阶段性一个方法一个方法的去学习,去看,每天积累一点总会成功,那么今天开始我的第一天spark源码分析。我这里从spark最基本的RDD中的方法说起,我感觉这样会更容易一些。同时我只对其中感觉比较重要的
转载
2023-08-31 23:52:51
78阅读
Background在MapReduce框架中,shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量。Spark作为MapReduce框架的一种实现,自然也实现了shuffle的逻辑,本文就深入研究Spark的shuffle是如何实现的,有什么优缺点,与Hadoop MapRed
转载
2023-12-08 08:23:02
27阅读
从两方面来阐述spark的组件,一个是宏观上,一个是微观上。1. spark组件要分析spark的源码,首先要了解spark是如何工作的。spark的组件:了解其工作过程先要了解基本概念官方罗列了一些概念:TermMeaningApplicationUser program built on Spark. Consists of a driver program and&nbs
转载
2023-07-11 20:05:03
93阅读