本来不打算写的了,但是真的是闲来无事,整天看美剧也没啥意思。这一章打算讲一下Spark on yarn的实现,1.0.0里面已经是一个stable的版本了,可是1.0.1也出来了,离1.0.0发布才一个月的时间,更新太快了,节奏跟不上啊,这里仍旧是讲1.0.0的代码,所以各位朋友也不要再问我讲的是哪...
分类:
其他好文 时间:
2014-07-13 21:43:15
阅读次数:
381
概述
最近工作上忙死了……广播变量这一块其实早就看过了,一直没有贴出来。
本文基于Spark 1.0源码分析,主要探讨广播变量的初始化、创建、读取以及清除。
类关系
BroadcastManager类中包含一个BroadcastFactory对象的引用。大部分操作通过调用BroadcastFactory中的方法来实现。
BroadcastFactory是一个Trait,有两个直接子...
分类:
其他好文 时间:
2014-07-10 19:43:49
阅读次数:
298
欢迎转载,转载请注明出处,徽沪一郎。概要Hadoop2中的Yarn是一个分布式计算资源的管理平台,由于其有极好的模型抽象,非常有可能成为分布式计算资源管理的事实标准。其主要职责将是分布式计算集群的管理,集群中计算资源的管理与分配。Yarn为应用程序开发提供了比较好的实现标准,Spark支持Yarn部...
分类:
其他好文 时间:
2014-07-07 14:18:32
阅读次数:
297
欢迎转载,转载请注明出处,徽沪一郎。楔子Hive是基于Hadoop的开源数据仓库工具,提供了类似于SQL的HiveQL语言,使得上层的数据分析人员不用知道太多MapReduce的知识就能对存储于Hdfs中的海量数据进行分析。由于这一特性而收到广泛的欢迎。Hive的整体框架中有一个重要的模块是执行模块...
分类:
其他好文 时间:
2014-07-07 14:17:47
阅读次数:
295
欢迎转载,转载请注明出处,徽沪一郎。概要本文以wordCount为例,详细说明spark创建和运行job的过程,重点是在进程及线程的创建。实验环境搭建在进行后续操作前,确保下列条件已满足。下载spark binary 0.9.1安装scala安装sbt安装java启动spark-shell单机模式运...
分类:
其他好文 时间:
2014-07-07 14:14:34
阅读次数:
231
欢迎转载,转载请注明出处,徽沪一郎。概要图的并行化处理一直是一个非常热门的话题,这里头的重点有两个,一是如何将图的算法并行化,二是找到一个合适的并行化处理框架。Spark作为一个非常优秀的并行处理框架,将一些并行化的算法移到其上面就成了一个很自然的事情。Graphx是一些图的常用算法在Spark上的...
分类:
其他好文 时间:
2014-07-07 14:11:44
阅读次数:
391
欢迎转载,转载请注明出处,徽沪一郎。概要本来源码编译没有什么可说的,对于java项目来说,只要会点maven或ant的简单命令,依葫芦画瓢,一下子就ok了。但到了Spark上面,事情似乎不这么简单,按照spark officical document上的来做,总会出现这样或那样的编译错误,让人懊恼不...
分类:
其他好文 时间:
2014-07-07 14:07:04
阅读次数:
268
欢迎转载,转载请注明出处,徽沪一郎。楔子源码阅读是一件非常容易的事,也是一件非常难的事。容易的是代码就在那里,一打开就可以看到。难的是要通过代码明白作者当初为什么要这样设计,设计之初要解决的主要问题是什么。在对Spark的源码进行具体的走读之前,如果想要快速对Spark的有一个整体性的认识,阅读Ma...
分类:
其他好文 时间:
2014-07-07 14:05:42
阅读次数:
285
欢迎转载,转载请注明出处,徽沪一郎。楔子在Spark源码走读系列之2中曾经提到Spark能以Standalone的方式来运行cluster,但没有对Application的提交与具体运行流程做详细的分析,本文就这些问题做一个比较详细的分析,并且对在standalone模式下如何实现HA进行讲解。没有...
分类:
其他好文 时间:
2014-07-07 14:05:03
阅读次数:
352
这一章想讲一下Spark的缓存是如何实现的。这个persist方法是在RDD里面的,所以我们直接打开RDD这个类。 def persist(newLevel: StorageLevel): this.type = { // StorageLevel不能随意更改 if (storageL...
分类:
其他好文 时间:
2014-07-03 12:53:15
阅读次数:
314