从脚本说起
在看源码之前,我们一般会看相关脚本了解其初始化信息以及Bootstrap类,Spark也不例外,而Spark我们启动三端使用的脚本如下:
%SPARK_HOME%/sbin/start-master.sh%SPARK_HOME%/sbin/start-slaves.sh%SPARK_HOME%/sbin
Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,性能超过Hadoop百倍,即使使用磁盘,迭代类型的计算也会有10倍速度的提升。Spark从多迭代批量处理出发,兼收并蓄数据仓库、流处理和图计算等多种计算范式,是罕见的全能选手。Spark当下已成为Apache基金会的顶级开源项目,拥有着庞大的社区支持——活跃开发者人数已超过Hadoop MapReduce)。
写在前面的话有了丰富的spark大数据处理经验和性能调优经验后,基于对spark高性能内存计算的爱慕,决定揭开其神秘的面纱,一睹芳容。源码编译在进行源码分析之前,最重要的一步是什么? 个人认为先把源码下载到本地,进行源码编译,编译成功后,就可以开启神秘探索的旅程了。万事开头难,no problem,我就喜欢迎难而上。 下载源码 1:登陆官网地址下载:http://spark.apache.or
转载
2023-08-13 14:04:36
189阅读
spark源码解析1-master启动流程
1、在start-master.sh脚本中调用Mater.scala中的main方法
startRpcEnvAndEndpoint()创建RpcEnv 3、在startRpcEnvAndEndpoint中创建RpcEnv(AkkaSystem),创建masterEndPoint(actor),new Master(),
转载
2023-10-18 19:18:51
82阅读
从两方面来阐述spark的组件,一个是宏观上,一个是微观上。1. spark组件要分析spark的源码,首先要了解spark是如何工作的。spark的组件:了解其工作过程先要了解基本概念官方罗列了一些概念:TermMeaningApplicationUser program built on Spark. Consists of a driver program and&nbs
转载
2023-07-11 20:05:03
79阅读
文章目录第一部分 宽窄依赖篇1.依赖关系概述2.依赖分类2.1` Dependency `继承 Serializable2.2 `NarrowDependency `窄依赖,继承 Dependency2.3` OneToOneDependency` 一对一依赖,继承NarrowDependency2.4 `RangeDependency` 范围依赖,继承NarrowDependency2.5 S
转载
2023-10-15 11:55:39
46阅读
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
105阅读
前言:spark源码分析系列 ,文中有错误的地方 请多多指正。体系架构如下,可以看出spark是一个全兼容的生态圈,不一定是最好的,但是是最全面的,一个spark生态圈就可以解决绝大多数数的大数据问题。一、spark基本概念1.Application:就是一个程序,一个jar包,一个war包,也就是通过spark-submit提交的程序2.Driver:就是为这个应用所提供的运行环境,上
转载
2023-09-27 22:15:39
80阅读
前言之前,一直在考虑,如何延续职业生涯.虽然刚入职,但是危机意识告诉我,不能当咸鱼.拒绝996的同时,也要自我学习,才不至于早早被扫地出门.哪怕考公务员也要学习[手动吃瓜].
受到我们部门leader的启发,我决定深入探讨一个工具,钻研源码,做到"精通"一个工具.
由Spark始吧.
本系列,主要参考了耿嘉安的深入理解Spark核心思想与源码分析.可以理解成我照猫画虎,更新了自己的一版本吧.
就从
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 本文将对canal的binlog订阅模块parser进行分析。 pa...
原创
2021-06-17 10:14:48
382阅读
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 关于instance的定义,可以参考前面的几篇源码解析,介...
原创
2021-06-17 10:14:49
365阅读
server模块源码解析
原创
2021-08-05 17:23:44
330阅读
# Spark 源码解析教程
在进行 Spark 源码解析之前,我们需要遵循一个明确的流程。以下是我们将要采取的步骤以及每一步所需的详细操作。
### 流程步骤
| 步骤 | 描述 |
|------|------|
| 1 | 设置开发环境 |
| 2 | 获取 Spark 源码 |
| 3 | 编译和运行 Spark |
| 4 | 阅读和理解代码 |
| 5
从两方面来阐述spark的组件,一个是宏观上,一个是微观上。1. spark组件要分析spark的源码,首先要了解spark是如何工作的。spark的组件:了解其工作过程先要了解基本概念官方罗列了一些概念:TermMeaningApplicationUser program built on Spark. Consists of a driver program and&nbs
转载
2023-08-17 17:34:49
227阅读
Spark广播变量底层的实现原理? 广播变量Executor端读取是push/put方式。。大家好,我是老兵。前面为大家介绍了一期Spark源码体系剖析,讲述了任务提交->Driver注册启动->SparkContext初始化->Executor启动->Task启动的全流程底层实现。本期为spark源码系列第二讲:broadcast源码剖析。从一个面试题入手,作为后续序列展
转载
2023-09-28 18:40:03
76阅读
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
65阅读
稍微了解Spark源码的人应该都知道SparkContext,作为整个Project的程序入口,其重要性不言而喻,许多大牛也在源码分析的文章中对其做了很多相关的深入分析和解读。这里,结合自己前段时间的阅读体会,与大家共同讨论学习一下Spark的入口对象—天堂之门—SparkContex。SparkContex位于项目的源码路径\spark-master\core\src\main\scala\or
1、Spark内核架构深度剖析图解2、宽依赖和窄依赖深度剖析图解 Spark的宽依赖和窄依赖是DAGScheduler将job划分为多个Stage的重要因素,每一个宽依赖都会划分一个Stage。3、基于YARN的两种提交模式深度剖析图解(Yarn_Client、Yarn_Cluster) Spark也支持StanAlone任务调度模式,所有任务调度都由Spark自己进行调度,但是相比较来说使用
# 从零入门Spark SQL
Apache Spark是一款快速通用的计算引擎,支持大规模数据处理。而Spark SQL是Spark中用于处理结构化数据的一个模块,它提供了一个类似于SQL的界面来操作数据,使得用户可以通过SQL查询方式来处理数据。
本文将从零入门Spark SQL,介绍其基本概念、使用方法以及代码示例。
## Spark SQL基本概念
Spark SQL主要包括两个核
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/ma