SMAQ:海量数据的存储计算和查询模型

SMAQ:海量数据的存储计算和查询模型

ID:35604145

大小:194.61 KB

页数:11页

时间:2019-03-31

SMAQ:海量数据的存储计算和查询模型_第1页
SMAQ:海量数据的存储计算和查询模型_第2页
SMAQ:海量数据的存储计算和查询模型_第3页
SMAQ:海量数据的存储计算和查询模型_第4页
SMAQ:海量数据的存储计算和查询模型_第5页
资源描述:

《SMAQ:海量数据的存储计算和查询模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、002SMAQ:海量数据的存储计算和查询模型SMAQ:海量数据的存储计算和查询模型       本文翻译自TheSMAQstackforbigdata        英文原文:http://radar.oreilly.com/2010/09/the-smaq-stack-for-big-data.htmlSMAQ代表了存储,MapReduce和查询。海量数据(“BigData”)是指那些足够大的数据,以至于无法再使用传统的方法进行处理。在过去,一直是Web搜索引擎的创建者们首当其冲的面对这个问题。而今天,各种社交网络,移动应用以及各种传感器和科学

2、领域每天创建着上PB的数据。 为了应对这种大规模数据处理的挑战,google创造了MapReduce。Google的工作以及yahoo创建的Hadoop孵化出一个完整的海量数据处理工具的生态系统。 随着MapReduce的流行,一个由数据存储层,MapReduce和查询(简称SMAQ)组成的海量数据处理的栈式模型也逐渐展现出来。SMAQ系统通常是开源的,分布式的,运行在普通硬件上。 就像由Linux,Apache,MySQLandPHP组成的LAMP改变了互联网应用开发领域一样,SMAQ将会把海量数据处理带入一个更广阔的天地。正如LAMP成为We

3、b2.0的关键推动者一样,SMAQ系统将支撑起一个创新的以数据为驱动的产品和服务的新时代。 尽管基于Hadoop的架构占据了主导地位,但是SMAQ模型也包含大量的其他系统,包括主流的NoSQL数据库。这篇文章描述了SMAQ栈式模型以及今天那些可以包括在这个模型下的海量数据处理工具。 MapReduce11/11002SMAQ:海量数据的存储计算和查询模型MapReduce是google为创建web网页索引而创建的。MapReduce框架已成为今天大多数海量数据处理的厂房。MapReduce的关键在于,将在数据集合上的一个查询进行划分,然后在多个节

4、点上并行执行。这种分布式模式解决了数据太大以至于无法存放在单独一台机器上的难题。        为了理解MapReduce是如何工作的,我们首先看它名字所体现出的两个过程。首先在map阶段,输入数据被一项一项的处理,转换成一个中间结果集,然后在reduce阶段,这些中间结果又被规约产生一个我们所期望得到的归纳结果。 说到MapReduce,通常要举的一个例子就是查找一篇文档中不同单词的出现个数。在map阶段单词被抽出来,然后给个count值1,在reduce节点,将相同的单词的count值累加起来。 看起来是不是将一个很简单的工作搞地很复杂了,这

5、就是MapReduce。为了让MapReduce完成这项任务,map和reduce阶段必须遵守一定的限制来使得工作可以并行化。将查询请求转换为一个或者多个MapReduce并不是一个直观的过程,为了解决这个问题,一些更高级的抽象被提出来,我们将在下面关于查询的那节里进行讨论。 11/11002SMAQ:海量数据的存储计算和查询模型使用MapReduce解决问题,通常需要三个操作: 数据加载—用数据仓库的叫法,这个过程叫做抽取(extract),转换(transform),加载(load){简称ETL}更合适些。为了利用MapReduce进行处理,

6、数据必须从源数据里抽取出来,进行必要的结构化,加载到MapReduce可以访问的存储层。 MapReduce—从存储层访问数据,进行处理,再将结果返回给存储层 结果抽取—一旦处理完毕,为了让结果对于人来说是可用的,还需要能够将存储层的结果数据进行查询和展示。很多SMAQ系统都具有自身的一些属性,主要就是围绕上述三个过程的简化。 HadoopMapReduceHadoop是主要的开源MapReduce实现。由yahoo资助,2006年由DougCutting创建,2008年达到了web规模的数据处理容量。 Hadoop项目现在由Apache管理。随

7、着不断的努力,和多个子项目一起共同构成了完整的SMAQ模型。 由于是用java实现的,所以Hadoop的MapReduce实现可以通过java语言交互。创建MapReducejob通常需要写一些函数用来实现map和reduce阶段需要做的计算。处理数据必须能够加载到Hadoop的分布式文件系统中。 以wordcount为例,map函数如下(来源于HadoopMapReduce文档,展示了其中关键的步骤)publicstaticclassMap     extendsMapper

8、>{     privatefinalstaticIntWritableone=newIntWritable(1);     priva

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。