05 2014 档案

摘要: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 徽沪一郎 阅读(6186) 评论(0) 推荐(5) 编辑
摘要:自从建了Spark交流的QQ群之后,热情加入的同学不少,大家不仅对Spark很热衷对于Storm也是充满好奇。大家都提到一个问题就是有关storm内部实现机理的资料比较少,理解起来非常费劲。 尽管自己也陆续对storm的源码走读发表了一些博文,当时写的时候比较匆忙,有时候衔接的不是太好,此番做了一些整理,主要是针对TridentTopology部分,修改过的内容采用pdf格式发布,方便打印。 文章中有些内容的理解得益于徐明明和fxjwind两位的指点,非常感谢。 阅读全文
posted @ 2014-05-28 13:12 徽沪一郎 阅读(7249) 评论(4) 推荐(8) 编辑
摘要:在即将发布的spark 1.0中有一个新增的功能,即对sql的支持,也就是说可以用sql来对数据进行查询,这对于DBA来说无疑是一大福音,因为以前的知识继续生效,而无须去学什么scala或其它script. 一般来说任意一个sql子系统都需要有parser,optimizer,execution三大功能模块,在spark中这些又都是如何实现的呢,这些实现又有哪些亮点和问题?带着这些疑问,本文准备做一些比较深入的分析。 阅读全文
posted @ 2014-05-27 16:10 徽沪一郎 阅读(8975) 评论(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 徽沪一郎 阅读(4475) 评论(0) 推荐(0) 编辑
摘要:本来源码编译没有什么可说的,对于java项目来说,只要会点maven或ant的简单命令,依葫芦画瓢,一下子就ok了。但到了Spark上面,事情似乎不这么简单,按照spark officical document上的来做,总会出现这样或那样的编译错误,让人懊恼不已。 阅读全文
posted @ 2014-05-16 16:44 徽沪一郎 阅读(5784) 评论(4) 推荐(3) 编辑
摘要:Hadoop2中的Yarn是一个分布式计算资源的管理平台,由于其有极好的模型抽象,非常有可能成为分布式计算资源管理的事实标准。其主要职责将是分布式计算集群的管理,集群中计算资源的管理与分配。 Yarn为应用程序开发提供了比较好的实现标准,Spark支持Yarn部署,本文将就Spark如何实现在Yarn平台上的部署作比较详尽的分析。 阅读全文
posted @ 2014-05-15 10:48 徽沪一郎 阅读(6490) 评论(1) 推荐(0) 编辑
摘要:在Spark源码走读系列之2中曾经提到Spark能以Standalone的方式来运行cluster,但没有对Application的提交与具体运行流程做详细的分析,就这些问题,本文做了一个比较详细的分析,并对在standalone模式下,Master节点是如何实现HA这一问题做出解答。 阅读全文
posted @ 2014-05-12 12:09 徽沪一郎 阅读(7456) 评论(0) 推荐(0) 编辑
摘要:Spark计算速度远胜于Hadoop的原因之一就在于中间结果是缓存在内存而不是直接写入到disk,本文尝试分析Spark中存储子系统的构成,并以数据写入和数据读取为例,讲述清楚存储子系统中各部件的交互关系。 阅读全文
posted @ 2014-05-08 13:37 徽沪一郎 阅读(5956) 评论(2) 推荐(0) 编辑
摘要:在流数据的处理过程中,为了保证处理结果的可信度(不能多算,也不能漏算),需要做到对所有的输入数据有且仅有一次处理。在Spark Streaming的处理机制中,不能多算,比较容易理解。那么它又是如何作到即使数据处理结点被重启,在重启之后这些数据也会被再次处理呢? 阅读全文
posted @ 2014-05-02 19:05 徽沪一郎 阅读(5560) 评论(1) 推荐(0) 编辑