![](https://i-blog.csdnimg.cn/direct/4654309487f843c8bb665f5f9989f918.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark
文章平均质量分 89
分析spark源码
Neil-Wick
https://github.com/Neil-Wick
展开
-
Spark-存储体系解析
Spark 存储体系是各个 Driver 和 Executor 实例中的 BlockManager 所组成的。但是从一个整体出发,把各个节点的 BlockManager 看成存储体系的一部分,那么存储体系还有更多衍生的内容,比如块传输服务、map 任务输出跟踪器、Shuffle 管理器等。原创 2024-08-07 17:58:48 · 981 阅读 · 0 评论 -
Spark-SparkEnv简析之二
BroadcastManager 的底层都依赖于 SparkEnv 的存储体系。每个 map 任务或者 reduce 任务都会有其唯一标识,分别为 mapId 和 reduceId,每个 reduce 任务的输入可能是多个 map 任务的输出,reduce 会到各个 map任 务所在的节点上拉取 Block,这一过程叫做Shuffle,每次Shuffle都有唯一的标识shuffleId。以前缀为实例,后缀为新属性的 key,KV 对的 value 作为新属性的 value。原创 2024-07-26 17:27:42 · 538 阅读 · 0 评论 -
Spark-SparkEnv简析之一
私有方法 create 用于创建 SparkEnv,在这个方法中涉及很多 SparkEnv 内部组件的实例化过程RpcEnv// RPC 最大重新连接次数,可以使用 spark.rpc.numRetries 属性进行配置,默认为3次// RPC 每次重新连接需要等待的毫秒数,可以使用 spark.rpc.retry.wait 属性进行配置,默认值为 3 秒// RPC 的 ask 操作的默认超时时间。原创 2024-07-22 11:44:11 · 1061 阅读 · 0 评论 -
Spark-SparkContext类解析
SparkDriver 的初始化始终围绕着 SparkContext 的初始化。SparkContext 可以算得上是 Spark 应用程序的发动机引擎,SparkContext 初始化完毕,才能向 Spark 集群提交应用程序,而 SparkContext 的配置参数则由 SparkConf 负责SparkContext 主要由以下内部组件组成SparkEnv : Spark 运行时环境,Executor是处理任务的执行器,它依赖于SparkEnv提供的运行时环境。原创 2024-07-15 18:02:27 · 1198 阅读 · 0 评论 -
Spark-事件及度量
当有事件需要通知监听器的时候,可以调用 ListenerBus 的 postToAII 方法,postToAlI 方法遍历所有监听器并调用 SparkListenerBus 实现的 doPostEvent 方法,doPostEvent 方法对事件类型进行匹配后调用监听器的不同方法。整个投递事件的过程是通过方法调用实现的,所以这是一个。在监听器比较多的时候,这个过程会相对比较耗时,在 SparkUI 中为了达到页面的即时刷新,实现了SparkListenerBus 的子类 LiveListenerBus。原创 2024-07-10 11:39:04 · 946 阅读 · 0 评论 -
Spark-RPC框架解析之组件介绍及流程再探
在Message接口中可以看到对于body方法的返回是 ManagedBuffer,ManagedBuffer 提供了由字节构成数据的不可变视图,类似关系型数据库的视图,不存储数据,也不是数据的实际来源,ManagedBuffer 抽象类的定义如下。TransportServerBootstrap 的列表 bootstraps 出现在 TransportServer 的构造器中,接口 TransportServerBootstrap 定义了服务端引导程序的规范,服务端引导程序是。原创 2024-07-05 17:22:23 · 910 阅读 · 0 评论 -
Spark-RPC框架解析之组件介绍及流程粗探
Spark-RPC框架涉及的组件概念介绍,相关发送信息的关键组件的流程解析原创 2024-07-01 15:35:21 · 900 阅读 · 0 评论 -
Spark源码之SparkConf解析
Spark 配备了各种各样的系统配置参数,SparkConf 是 Spark 的配置类。Spark 中的每一个组件都直接或者间接地使用着它所存储的属性Spark 的配置通过3种方式获取。原创 2024-06-26 10:48:25 · 388 阅读 · 0 评论