shuffle读过程源码分析 上一篇中,我们分析了shuffle在map阶段的写过程。简单回顾一下,主要是将ShuffleMapTask计算的结果数据在内存中按照分区和key进行排序,过程中由于内存限制会溢写出多个磁盘文件,最后会对所有的文件和内存中剩余的数据进行归并排序并溢写到一个文件中,同时会记 ...
分类:
其他好文 时间:
2019-06-16 20:11:09
阅读次数:
133
ShuffleManager(一) 本篇,我们来看一下spark内核中另一个重要的模块,Shuffle管理器ShuffleManager。shuffle可以说是分布式计算中最重要的一个概念了,数据的join,聚合去重等操作都需要这个步骤。另一方面,spark之所以比mapReduce的性能高其中一个 ...
分类:
其他好文 时间:
2019-06-15 09:57:51
阅读次数:
87
spark启动代码阅读:spark使用一系列的shell脚本作为入口:其中bin目录下面是任务提交的脚本;sbin目录是master和worker启停相关的脚本。而所有脚本最后都是通过调用bin/spark-class来实现对java(scala)代码的调用。----------------------spark-class获取java参数分析---------------------------
分类:
其他好文 时间:
2018-05-29 00:23:36
阅读次数:
212
当我们在使用spark编写mr作业是,最后都要涉及到调用reduce,foreach或者是count这类action来触发作业的提交,所以,当我们查看这些方法的源码时,发现底层都调用了SparkContext的runJob方法,而SparkContext的runJob方法又调用的DAGSchedul ...
分类:
其他好文 时间:
2018-04-05 23:10:53
阅读次数:
312
即日起开始spark源码阅读之旅,这个过程是相当痛苦的,也许有大量的看不懂,但是每天一个方法,一点点看,相信总归会有极大地提高的。那么下面开始: 创建sparkConf对象,那么究竟它干了什么了类,从代码层面,我们可以看到我们需要setMaster啊,setAppName啊,set blabla啊。 ...
分类:
其他好文 时间:
2016-11-20 19:11:22
阅读次数:
3361
spark都进化到2.0了,虽然之前对spark有所了解但总感觉似懂非懂的,所以想花时间看看源码。 面对大量的源码从哪里着手呢,想到老子的一句话“天下难事必作于易,天下大事必作于细”,所以就从脚本部分来啃。 因本人脚本编程能力也并不是那么强,所以在总结的时候会穿插一些shell的东西。此处只介绍sh ...
分类:
其他好文 时间:
2016-10-26 16:16:30
阅读次数:
380
记载我的spark源码阅读火花知识点:1、seq:列表,适合存有序重复数据,进行快速插入/删除元素等场景,Set是集合,适合存无序非重复数据,进行快速查找海量元素等场景memoryKeys=Seq(
)2、private声明变量为私有privatevalhadoopConf=SparkHadoopUtil.get.newConfiguration(conf)..
分类:
其他好文 时间:
2016-09-23 15:19:24
阅读次数:
162
RDDs弹性分布式数据集 spark就是实现了RDDs编程模型的集群计算平台。有很多RDDs的介绍,这里就不仔细说了,这儿主要看源码。 相关类 Dependency 宽依赖和窄依赖两种。Denpendency类中主要保存父RDD,根据partition id获得所依赖的父RDD partitions ...
分类:
其他好文 时间:
2016-07-11 18:53:25
阅读次数:
257
Spark支持很多输入和输入源,同时还支持内建RDD。Spark本身是基于Hadoop的生态圈,它可以通过
Hadoop MapReduce所使用的InpoutFormat和OutputFormat接口访问数据。而且大部分的文件格式和存储系统
(HDFS,Hbase,S3等)都支持这种接口。Spark常见的数据源如下:
(1) 文件格式和文件系统,也就是我们经常用的TXT,JSON,CSV等...
分类:
其他好文 时间:
2016-05-07 11:28:59
阅读次数:
492
java switch-case(对值)
scala不仅对值,而且可以对类型,集合(map,list元数据匹配),object,class
scala大量使用模式匹配(match case)Scala的模式匹配,与Java的switch case的区别:1.不仅可以匹配值,可以匹配类型2.可以匹配数组的集合
相同数组、长度相同的数组、以某个元素开头的数组
对于长度相同的数组,会进行自动变量赋...
分类:
其他好文 时间:
2016-05-06 14:58:07
阅读次数:
212