海量数据分析

海量数据分析

ID:46250458

大小:203.71 KB

页数:21页

时间:2019-11-22

海量数据分析_第1页
海量数据分析_第2页
海量数据分析_第3页
海量数据分析_第4页
海量数据分析_第5页
资源描述:

《海量数据分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Sawzall海量数据分析:Sawzall并行处理收件人:发件人聞II路上述9遍日期:2005-07-22关于:InterpretingtheData:ParallelAnalysiswithSawzall作者RobPike,SeanDorward,RobertGriesemer,SeanQuinlanGoogle,Inc.(DraftsubmittedtoScientificProgrammingJournal)概要超大量的数据往往会釆用一种平面的正则结构,存放于跨越多个计算机的多个磁盘上。这方面的例子包括

2、了电话通话记录,网络日志,web文档库等等。只要这些超大量的数据集不能装在单个关系数拯库里边的时候,传统的数据库技术对丁•研究这些超人数据集來说那就是没冇意义的。此外,对丁•这些数据集的分析可以展示成为应用简单的,便于分布式处理的计算方法:比如过滤,聚合,统计抽取,等等。我们在这里介绍这样一种这样的自动化分析系统。在过滤阶段,杳询请求通过一种全新的编程语言來快速执行,把数据处理到聚合阶段。无论过滤阶段述是聚合阶段都是分布在上百台庚至上千台计算机上执行的。他们的结果通过比较并口保存到一个文件。这个系统的设计•包

3、括分成两阶段,以及这种新式的编程语言,聚合器的特性•都是在数据和计算分布在很多台机器上的情况卜,内嵌使用并行机制的。1.介绍有不少数据集都是超大的,或者非常动态,或者就是因为太笨拙了,而不能冇效地通过关系数据库进行管理。典型的场景是一组大量无格式文件•有时候是上petabytes(2的50次方1,125,899,906,842,624)-分布在多个计算机匕的多个磁盘上。这些文件都包含了无数的记录,这些记录是通常会通过一个轴來组织,比如通过时间轴或者地理轴进行纽•织。例如:这堆文件可能包含一个web网页仓库,用

4、來构ifrinternet搜索引擎的索引系统,或者这堆文件用來记录上千台在线服务器的健康H志,或者用來记录电话呼叫记录或者商业交易日至,网络包记录,web服务器查询记录,或者高级一点的数据比如卫星图像等等。但是对这些数据的分析经常可以表示成为简单的操作,远比普通SQL查询要简单得操作来完成。举一个例子,我们通常会统计满足某条件的记录数,或考抽取这些记录,或者査询界常记录,或者构造记录中某一个域值的频率柱状图。另一方而,查询也可能会较为复朵,但是这些查询依旧可以展示成为通过一系列简单查询來完成,这些简单查询都可

5、以简单映射到这些文件的记录集上。口口口□口口□口口口口口口口口口口口口口口口口口口口口口口口I□口口口口口口口口口口口口口口□口□DDDGS-s-BBBm口口口口口口口口口口口口口口口口口口口口□口口口口口QBG&Se□口口□宙口□口口□口口口□口□口口口口口口口口口口□口口口口□口口口口口口口口□口口□口口口二口口口口口口口口口口口口口口白□口PBOnESis官口口口口口口口口口学口口口口口口口口口口rackOracklrack2rack3rack4图1:5组机架,每组冇50・55台计算札每台计算机冇4个磁

6、盘。这样一个架构可以冇到250TB的待分析数据量。我们可以在250台以卜.的计算机I:分别执行过滤來极人的的提高并行度,并且把他们的结果通过网络汇聚到-•起(参见弧线)由于数据记录存放在多台计算机上,那么用这些计算机本身的能力來进行分析的方法就和当有效。特别是,当单独每一个步骤都叮以表示成为每次对独立的记录进行操作的吋候,我们就町以把计算分布到所有这些机器上,这样就能达到相当高的吞吐量。(前边提及的每个例子都有这样的特点)O这些简单操作都要求一个聚合的阶段。例如,如果我们统计记录数,我们需要把每一个机器统计出

7、來的记录数相加,作为最终的输岀结果。所以,我们把我们的计算分成两个阶段。第一个阶段我彳门对每i条记录分别计算,第二个阶段我们聚合这些结果(图2)。木论文描述的系统更进一步考虑了这个问题。我们用i个全新的编程语言来进行第一个阶段的分析,从处理粒度上,它一次处理--条记录,并且在阶段2严格限制预先定义的处理阶段1产出物的聚介器处理的集合。通过约束本模式的计算量,我们可以达到非常高的吞吐量。虽然并非所有的计算都能适合这样的模式,但是仅仅通过不多的代码就能够驱动上千台机器并行计算还是很划算的。RAWDATA图2:总体

8、数据流图,过滤,聚合和比较。每一步都比上一步产生更少的数据。当然,我们还有很多小问题耍解决。计算必须耍分解成为小块并且分布到每一个存储数据的节点上进行执行,尽量让计算和数据在一台机器上以避免网络瓶颈。市于使用的机器越多,那么越冇町能冇机器会在运算中宕机,所以,必须系统必须要冇容错能力。这些都是困难但是冇趣的问题,但是他们都必须能够在没有人为干预的情况下完成。Google有好儿个这样的基础架构,包括G

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

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

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