……

随笔分类 -  spark源码分析

spark
Spark源码系列(十一)spark源码解析总结
摘要:Spark 通信架构 1、spark 一开始使用 akka 作为网络通信框架,spark 2.X 版本以后完全抛弃 akka,而使用 netty 作为新的网络通信框架。最主要原因:spark 对 akka 没有维护,需要 akka 更新,spark 的发展受到了 akka 的牵制,akka 版本之间 阅读全文
posted @ 2020-05-29 18:39 大码王 阅读(2576) 评论(2) 推荐(0) 编辑
Spark源码系列(十)spark源码解析大全
摘要:第1章 Spark 整体概述 1.1 整体概念 Apache Spark 是一个开源的通用集群计算系统,它提供了 High-level 编程 API,支持 Scala、Java 和 Python 三种编程语言。Spark 内核使用 Scala 语言编写,通过基于 Scala 的函数式编程特性,在不同 阅读全文
posted @ 2020-05-29 18:36 大码王 阅读(13719) 评论(2) 推荐(6) 编辑
Spark源码系列(九)spark源码分析以及优化
摘要:第一章、spark源码分析之RDD四种依赖关系 一、RDD四种依赖关系 RDD四种依赖关系,分别是 ShuffleDependency、PrunDependency、RangeDependency和OneToOneDependency四种依赖关系。如下图所示:org.apache.spark.Dep 阅读全文
posted @ 2020-05-27 15:44 大码王 阅读(1143) 评论(0) 推荐(0) 编辑
Spark源码系列(八)Spark Streaming实例分析
摘要:问题导读1,如何保存接收到的数据?2,如何处理接收到的数据?3,调用get或Compute方法获得RDD的流程有什么?这一章要讲Spark Streaming,讲之前首先回顾下它的用法,具体用法请参照《Spark Streaming编程讲解》。 1、示例代码分析 val ssc = new Stre 阅读全文
posted @ 2020-05-27 15:31 大码王 阅读(406) 评论(0) 推荐(0) 编辑
Spark源码系列(七)Spark on yarn具体实现
摘要:问题导读1、yarn提交作业的流程是怎样的?2、run方法在ApplicationMaster里面主要干了什么工作?3、把作业发布到yarn上面去执行,涉及到哪些类?本来不打算写的了,但是真的是闲来无事,整天看美剧也没啥意思。这一章打算讲一下Spark on yarn的实现,1.0.0里面已经是一个 阅读全文
posted @ 2020-05-27 15:16 大码王 阅读(741) 评论(0) 推荐(0) 编辑
Spark原始码系列(六)Shuffle的过程解析
摘要:问题导读: 1、shuffle过程的划分? 2、shuffle的中间结果如何存储? 3、shuffle的数据如何拉取过来? Shuffle过程的划分 Spark的操作模型是基于RDD的,当调用RDD的reduceByKey、groupByKey等类似的操作的时候,就需要有shuffle了。再拿出re 阅读全文
posted @ 2020-05-27 14:51 大码王 阅读(581) 评论(1) 推荐(0) 编辑
Spark原始码系列(五)分布式缓存
摘要:问题导读:spark缓存是如何实现的?BlockManager与BlockManagerMaster的关系是什么? 这个persist方法是在RDD里面的,所以我们直接打开RDD这个类。 def persist(newLevel: StorageLevel): this.type = { // St 阅读全文
posted @ 2020-05-27 14:36 大码王 阅读(603) 评论(1) 推荐(0) 编辑
Spark源码系列(四)图解作业生命周期
摘要:问题导读:1.描述作业生命周期?2.资源是如何调度的? 这一章我们探索了Spark作业的运行过程,但是没把整个过程描绘出来,好,跟着我走吧,let you know! 我们先回顾一下这个图,Driver Program是我们写的那个程序,它的核心是SparkContext,回想一下,从api的使用角 阅读全文
posted @ 2020-05-27 14:25 大码王 阅读(427) 评论(0) 推荐(0) 编辑
Spark源码系列(三)作业运行过程
摘要:问题导读:1.如何进行作业划分?2.TaskScheduler如何提交Task? 1、作业执行 上一章讲了RDD的转换,但是没讲作业的运行,它和Driver Program的关系是啥,和RDD的关系是啥? 官方给的例子里面,一执行collect方法就能出结果,那我们就从collect开始看吧,进入R 阅读全文
posted @ 2020-05-27 14:21 大码王 阅读(607) 评论(0) 推荐(0) 编辑
Spark源码系列(二)RDD详解
摘要:问题导读:1.什么是RDD?2.如何实现RDD转换? 1、什么是RDD? 上一章讲了Spark提交作业的过程,这一章我们要讲RDD。简单的讲,RDD就是Spark的input,知道input是啥吧,就是输入的数据。 RDD的全名是Resilient Distributed Dataset,意思是容错 阅读全文
posted @ 2020-05-27 11:43 大码王 阅读(882) 评论(0) 推荐(0) 编辑
Spark源码系列(一)spark-submit提交作业过程
摘要:问题导读:1.spark是如何提交作业的?2.Akka框架是如何实现的?3.如何实现调度的?前言 折腾了很久,终于开始学习Spark的源码了,第一篇我打算讲一下Spark作业的提交过程。 这个是Spark的App运行图,它通过一个Driver来和集群通信,集群负责作业的分配。今天我要讲的是如何创建这 阅读全文
posted @ 2020-05-27 11:24 大码王 阅读(2063) 评论(0) 推荐(0) 编辑

复制代码