自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张伯毅的专栏

人生就是一道证明题,证明我们的存在不是偶然....

原创 Spark2.3.2源码解析: 10. 调度系统 Task任务提交 (三) TaskScheduler : Executor 任务提交

架构图:     代码提交时序图 Standalone模式提交运行流程图:     首先写一个WordCount代码(这个代码,为了观察多个stage操作,我写了两个reducebykey 函数) 源代码:   直接执行代码,查看spark执行程序时...

2018-12-29 17:03:59

阅读数 2525

评论数 0

原创 Spark 本地化计算参数调整分析

  Spark在Driver上,对Application的每一个stage的task,进行分配之前,都会计算出每个task要计算的是哪个分片数据,RDD的某个partition;Spark的task分配算法,优先,会希望每个task正好分配到它要计算的数据所在的节点,这样的话,就不用在网络间传输...

2018-12-28 22:10:24

阅读数 2261

评论数 0

原创 Spark复杂情况下的stage划分 reduceByKey leftOuterJoin union

为了研究复杂情况下的stage划分,故意写了一段复杂一点的代码进行测试。   代码: import org.apache.spark.{SparkConf, SparkContext} object WordDemo { //spark-submit --name 'WordDem...

2018-12-28 10:48:23

阅读数 1965

评论数 0

原创 Spark2.3.2源码解析: 10. 调度系统 Task任务提交 (二) TaskScheduler : 本地化计算

  架构图:   Standalone模式提交运行流程图:   首先写一个WordCount代码(这个代码,为了观察多个stage操作,我写了两个reducebykey 函数) 源代码:   直接执行代码,查看spark执行程序时,将代码划分stage生成的...

2018-12-25 16:00:02

阅读数 2032

评论数 0

原创 Spark2.3.2源码解析:9.调度系统 DAGScheduler 之 Stage 划分源码详解

Stage划分的时候,大家应该都知道是从最后一个stage向根据宽窄依赖,递归进行stage划分。 但是代码里面涉及的逻辑复杂。毕竟涉及到相互递归调用。让人似懂非懂。 反正我是炸毛了 o(╥﹏╥)o 本文专门用一篇文章详细论述DAGScheduler 的 stage 划分流程 为了更容易理解...

2018-12-22 12:49:16

阅读数 2489

评论数 1

原创 Spark2.3.2源码解析: 10. 调度系统 Task任务提交 (一) DAGScheduler 之 stage 提交

  一个Spark Application分为stage级别和task级别的调度,  task来源于stage,所有本文先从stage提交开始讲解task任务提交。   架构图: Standalone模式提交运行流程图: 首先写一个WordCount代码(这个代码,为了观察多个...

2018-12-22 12:11:52

阅读数 2257

评论数 1

原创 Spark2.3.2源码解析: 8. RDD 源码解析 (二) textFile 返回的RDD实例是什么

  本文主要目标是分析RDD的实例对象,到底放了什么。 从代码val textFile = sc.textFile(args(0)) 开始: 直接看textFile 源码: 你会发现调用的是hadoop的api,通过 hadoopFile 读取数据,返回一个hadoopRDD对象   ...

2018-12-21 16:13:40

阅读数 2221

评论数 0

原创 Spark2.3.2源码解析: 7.3. SparkContext源码分析(二) :调度系统 DAGScheduler

  简介:           本质上在Actions算子中通过SparkContext执行提交作业的runJob操作,触发了RDD DAG的执行。  所以本文从runJob方法进行解析 从而引出DAGScheduler、TaskScheduler 。。。。   代码部分...

2018-12-20 17:35:34

阅读数 2411

评论数 2

原创 Spark2.3.2源码解析: 8. RDD 源码解析 (一) RDD 类分析

全称: 弹性分布式数据集 1)有一个分片列表,就是能被切分,和Hadoop一样,能够切分的数据才能并行计算。   一组分片(partition),即数据集的基本组成单位,对于RDD来说,每个分片都会被一个计算任务处理,并决定并行计算的粒度。用户可以在创建RDD时指定RDD的分片个数,如果没...

2018-12-19 18:40:45

阅读数 1979

评论数 0

翻译 Spark配置参数详解

Spark提供三个位置用来配置系统: Spark属性:控制大部分的应用程序参数,可以用SparkConf对象或者Java系统属性设置 环境变量:可以通过每个节点的 conf/spark-env.sh脚本设置。例如IP地址、端口等信息 日志配置:可以通过log4j.properties配置 S...

2018-12-18 16:41:38

阅读数 3631

评论数 0

原创 Spark2.3.2源码解析: 4.2.Yarn cluster 模式 SparkSubmit源码分析(二)ApplicationMaster

  准备工作: 启动脚本 --name spark-test --class WordCount --master yarn --deploy-mode cluster /A/spark-test/spark-test.jar  /tmp/zl/data/data.txt 执行jar...

2018-12-18 14:36:12

阅读数 4619

评论数 0

翻译 在YARN上运行Spark API

  启动命令格式: $ ./bin/spark-submit --class path.to.your.Class --master yarn --deploy-mode cluster [options] <app jar> [app ...

2018-12-18 11:39:55

阅读数 2958

评论数 0

原创 Spark2.3.2源码解析: 7.2. SparkContext源码分析(二) :TaskSchedulerImpl

    代码部分:   启动脚本 --name spark-test --class WordCount --master yarn --deploy-mode cluster /A/spark-test.jar /mysqlClean.sql 执行jar包 spark-t...

2018-12-12 17:47:33

阅读数 2657

评论数 0

翻译 Spark基础知识详解

         Apache Spark是一种快速通用的集群计算系统。 它提供Java,Scala,Python和R中的高级API,以及支持通用执行图的优化引擎。 它还支持一组丰富的高级工具,包括用于SQL和结构化数据处理的Spark SQL,用于机器学习的MLlib,用于图形处理的Graph...

2018-12-12 17:45:38

阅读数 2893

评论数 2

原创 Spark2.3.2源码解析: 7.1. SparkContext源码分析(一) : SparkEnv

    SparkContext 是通往 Spark 集群的唯一入口,可以用来在 Spark 集群中创建 RDDs 、 累加器( Accumulators )和广播变量( Broadcast Variables ) 。 SparkContext 也是整个 Spark 应用程序( Applicati...

2018-12-12 15:19:42

阅读数 2047

评论数 0

原创 Spark2.3.2源码解析: 6. RDD 依赖关系:宽依赖与窄依赖

    Spark中RDD的高效与DAG(有向无环图)有很大的关系,在DAG调度中需要对计算的过程划分Stage,划分的依据就是RDD之间的依赖关系。RDD之间的依赖关系分为两种,宽依赖(wide dependency/shuffle dependency)和窄依赖(narrow dependen...

2018-12-12 11:27:01

阅读数 2406

评论数 0

原创 Spark2.3.2源码解析: 5. SparkConf源码分析

  在执行代码的时候,首先要声明:SparkConf,本文以SparkConf进行分析,逐步展开。 val conf = new SparkConf()       类中的方法(org.apache.spark.SparkConf) Modifier and Ty...

2018-12-11 16:43:57

阅读数 2556

评论数 0

翻译 Spark2.1 内存管理详解

  本文中阐述的原理基于 Spark 2.1 版本,阅读本文需要读者有一定的 Spark 和 Java 基础,了解 RDD、Shuffle、JVM 等相关概念。 在执行 Spark 的应用程序时,Spark 集群会启动 Driver 和 Executor 两种 JVM 进程,前者为主控进程,负...

2018-12-11 14:16:23

阅读数 2854

评论数 0

翻译 Spark弹性分布式数据集RDD:基于内存集群计算的容错抽象

摘要        我们提出的弹性分布式数据集(RDDs),是一个让程序员在大型集群上以容错的方式执行基于内存计算的分布式内存抽象。RDDs受启发于两类使用当前计算框架处理不高效的应用:迭代算法和交互式数据挖掘工具。这二者在内存中保存数据性能能够提高一个数量级。为了有效容错,RDDs提供一种受限...

2018-12-11 10:00:10

阅读数 2538

评论数 0

原创 Spark2.3.2源码解析: 4.1.Yarn cluster 模式 SparkSubmit源码分析(一)

因为所有的任务提交代表都是从SparkSubmit开始,所以先从开始看源码,但是这个估计会有点复杂,先通读一下。   准备工作: 启动脚本 --name spark-test --class WordCount --master yarn --deploy-mode cluster /...

2018-12-07 23:56:45

阅读数 2864

评论数 0

提示
确定要删除当前文章?
取消 删除