网站大量收购独家精品文档,联系QQ:2885784924

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

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SMAQ海量数据的存储计算和查询模型

002 SMAQ:海量数据的存储计算和查询模型 PAGE11 / NUMPAGES11 SMAQ:海量数据的存储计算和查询模型 ??????? 本文翻译自 HYPERLINK /2010/09/the-smaq-stack-for-big-data.html \t _self The SMAQ stack for big data? ?????? ?英文原文: HYPERLINK /2010/09/the-smaq-stack-for-big-data.html /2010/09/the-smaq-stack-for-big-data.html SMAQ代表了存储,MapReduce和查询。 海量数据(“Big Data”)是指那些足够大的数据,以至于无法再使用传统的方法进行处理。在过去,一直是Web搜索引擎的创建者们首当其冲的面对这个问题。而今天,各种社交网络,移动应用以及各种传感器和科学领域每天创建着上PB的数据。?为了应对这种大规模数据处理的挑战,google创造了MapReduce。Google的工作以及yahoo创建的Hadoop孵化出一个完整的海量数据处理工具的生态系统。? 随着MapReduce的流行,一个由数据存储层,MapReduce和查询(简称SMAQ)组成的海量数据处理的栈式模型也逐渐展现出来。SMAQ系统通常是开源的,分布式的,运行在普通硬件上。 ? 就像由Linux, Apache, MySQL and PHP 组成的LAMP改变了互联网应用开发领域一样,SMAQ将会把海量数据处理带入一个更广阔的天地。正如LAMP成为Web2.0的关键推动者一样,SMAQ系统将支撑起一个创新的以数据为驱动的产品和服务的新时代。? 尽管基于Hadoop的架构占据了主导地位,但是SMAQ模型也包含大量的其他系统,包括主流的NoSQL数据库。这篇文章描述了SMAQ栈式模型以及今天那些可以包括在这个模型下的海量数据处理工具。? MapReduce MapReduce是google为创建web网页索引而创建的。MapReduce框架已成为今天大多数海量数据处理的厂房。MapReduce的关键在于,将在数据集合上的一个查询进行划分,然后在多个节点上并行执行。这种分布式模式解决了数据太大以至于无法存放在单独一台机器上的难题。 ???????? 为了理解MapReduce是如何工作的,我们首先看它名字所体现出的两个过程。首先在map阶段,输入数据被一项一项的处理,转换成一个中间结果集,然后在reduce阶段,这些中间结果又被规约产生一个我们所期望得到的归纳结果。 ? 说到MapReduce,通常要举的一个例子就是查找一篇文档中不同单词的出现个数。在map阶段单词被抽出来,然后给个count值1,在reduce节点,将相同的单词的count值累加起来。? 看起来是不是将一个很简单的工作搞地很复杂了,这就是MapReduce。为了让MapReduce完成这项任务,map和reduce阶段必须遵守一定的限制来使得工作可以并行化。将查询请求转换为一个或者多个MapReduce并不是一个直观的过程,为了解决这个问题,一些更高级的抽象被提出来,我们将在下面关于查询的那节里进行讨论。? 使用MapReduce解决问题,通常需要三个操作:? 数据加载—用数据仓库的叫法,这个过程叫做抽取(extract),转换(transform),加载(load){简称ETL}更合适些。为了利用MapReduce进行处理,数据必须从源数据里抽取出来,进行必要的结构化,加载到MapReduce可以访问的存储层。 ?MapReduce—从存储层访问数据,进行处理,再将结果返回给存储层? 结果抽取—一旦处理完毕,为了让结果对于人来说是可用的,还需要能够将存储层的结果数据进行查询和展示。 很多SMAQ系统都具有自身的一些属性,主要就是围绕上述三个过程的简化。 ?Hadoop MapReduce Hadoop是主要的开源MapReduce实现。由yahoo资助,2006年由 HYPERLINK /files/cutting.pdf Doug Cutting创建,2008年达到了web规模的数据处理容量。? Hadoop项目现在由Apache管理。随着不断的努力,和多个子项目一起共同构成了完整的SMAQ模型。? 由于是用java实现的,所以Hadoop的MapReduce实现可以通过java语言交互。创建MapReduce job通常需要写一些函数用来实现map和reduce阶段需要做的计算。处理数据必须能够加载到Hadoop的分布式文件系统中。? 以wordcount为例,map函数如下(来源于Hadoop MapReduce文档,展示了其中

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档