摘要: 之所以对spark shell的内部实现产生兴趣全部缘于好奇代码的编译加载过程,scala是需要编译才能执行的语言,但提供的scala repl可以实现代码的实时交互式执行,这是为什么呢? 既然scala已经提供了repl,为什么spark还要自己单独搞一套spark repl,这其中的缘由到底何在? 显然,这些都是问题,要解开这些谜团,只有再次开启一段源码分析之旅了。 阅读全文
posted @ 2014-06-28 09:21 徽沪一郎 阅读(5141) 评论(0) 推荐(1) 编辑
摘要: 本文就standalone部署方式下的容错性问题做比较细致的分析,主要回答standalone部署方式下的包含哪些主要节点,当某一类节点出现问题时,系统是如何处理的。 组成cluster的不同节点,启动时有没有固定的顺序,为什么是这样的顺序,针对这些问题,本文会做一个详尽的分析。 阅读全文
posted @ 2014-06-17 21:51 徽沪一郎 阅读(3758) 评论(2) 推荐(7) 编辑
摘要: 图的并行化处理一直是一个非常热门的话题,这里头的重点有两个,一是如何将图的算法并行化,二是找到一个合适的并行化处理框架。Spark作为一个非常优秀的并行处理框架,将一些并行化的算法移到其上面就成了一个很自然的事情。 Graphx是一些常见图算法在Spark上的并行化实现,同时提供了丰富的API接口。本文就Graphx的代码架构及pagerank在graphx中的具体实现做一个初步的学习。 阅读全文
posted @ 2014-06-11 11:01 徽沪一郎 阅读(6283) 评论(0) 推荐(1) 编辑
摘要: 在新近发布的spark 1.0中新加了sql的模块,更为引人注意的是对hive中的hiveql也提供了良好的支持,作为一个源码分析控,了解一下spark是如何完成对hql的支持是一件非常有趣的事情。 阅读全文
posted @ 2014-06-04 11:19 徽沪一郎 阅读(5646) 评论(1) 推荐(0) 编辑
摘要: Hive是基于Hadoop的开源数据仓库工具,提供了类似于SQL的HiveQL语言,使得上层的数据分析人员不用知道太多MapReduce的知识就能对存储于Hdfs中的海量数据进行分析。由于这一特性而收到广泛的欢迎。 Hive的整体框架中有一个重要的模块是执行模块,这一部分是用Hadoop中MapReduce计算框架来实现,因而在处理速度上不是非常令人满意。由于Spark出色的处理速度,有人已经成功将HiveQL的执行利用Spark来运行,这就是已经非常闻名的Shark开源项目。 在Spark 1.0中,Spark自身提供了对Hive的支持。本文不准备分析Spark是如何来提供对Hive的支持的,而只着重于如何搭建Hive On Spark的测试环境。 阅读全文
posted @ 2014-05-30 08:44 徽沪一郎 阅读(6174) 评论(0) 推荐(5) 编辑
摘要: 在即将发布的spark 1.0中有一个新增的功能,即对sql的支持,也就是说可以用sql来对数据进行查询,这对于DBA来说无疑是一大福音,因为以前的知识继续生效,而无须去学什么scala或其它script. 一般来说任意一个sql子系统都需要有parser,optimizer,execution三大功能模块,在spark中这些又都是如何实现的呢,这些实现又有哪些亮点和问题?带着这些疑问,本文准备做一些比较深入的分析。 阅读全文
posted @ 2014-05-27 16:10 徽沪一郎 阅读(8953) 评论(1) 推荐(1) 编辑
摘要: “spark已经比较头痛了,还要将其运行在yarn上,yarn是什么,我一点概念都没有哎,再怎么办啊。不要跟我讲什么原理了,能不能直接告诉我怎么将spark在yarn上面跑起来,I'm a dummy, just told me how to do it.” 如果你和我一样是一个对形而上的东西不是太感兴趣,而只纠结于怎么去做的话,看这份guide保证不会让你失望, :)。 阅读全文
posted @ 2014-05-19 18:30 徽沪一郎 阅读(4465) 评论(0) 推荐(0) 编辑
摘要: 本来源码编译没有什么可说的,对于java项目来说,只要会点maven或ant的简单命令,依葫芦画瓢,一下子就ok了。但到了Spark上面,事情似乎不这么简单,按照spark officical document上的来做,总会出现这样或那样的编译错误,让人懊恼不已。 阅读全文
posted @ 2014-05-16 16:44 徽沪一郎 阅读(5776) 评论(4) 推荐(3) 编辑
摘要: Hadoop2中的Yarn是一个分布式计算资源的管理平台,由于其有极好的模型抽象,非常有可能成为分布式计算资源管理的事实标准。其主要职责将是分布式计算集群的管理,集群中计算资源的管理与分配。 Yarn为应用程序开发提供了比较好的实现标准,Spark支持Yarn部署,本文将就Spark如何实现在Yarn平台上的部署作比较详尽的分析。 阅读全文
posted @ 2014-05-15 10:48 徽沪一郎 阅读(6476) 评论(1) 推荐(0) 编辑
摘要: 在Spark源码走读系列之2中曾经提到Spark能以Standalone的方式来运行cluster,但没有对Application的提交与具体运行流程做详细的分析,就这些问题,本文做了一个比较详细的分析,并对在standalone模式下,Master节点是如何实现HA这一问题做出解答。 阅读全文
posted @ 2014-05-12 12:09 徽沪一郎 阅读(7447) 评论(0) 推荐(0) 编辑