大数据系统基础清华4.处理框架_第1页
大数据系统基础清华4.处理框架_第2页
大数据系统基础清华4.处理框架_第3页
大数据系统基础清华4.处理框架_第4页
大数据系统基础清华4.处理框架_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本节部分内容引自UC Berkeley “GreatIdeasinComputer本节部分内容引自UC Berkeley “GreatIdeasinComputer Architecture” ,JeffDean等人在SOSP2004关于MapReduce的 本节课目本节课目数据更灵活的处理架构更的编程 Pig PigLatin语Latin在Hadoop上的实数据类型与分析数据类型与分析工复习:GFS里几个重要数于成百上千的复习:GFS里几个重要数于成百上千的服务大数据块减少元数据的开失败使 失败是不可避免的没有 单写者数据 数据级并行化数据级并行化“令人尴尬的并行6ttisttisttist

2、tisnotisnottititGFS已经解t数据分7问题吞吐量问题吞吐量(多个进程同时改变同步(同时修改需要锁例子:词频统ttistt例子:词频统ttisttisnotisnottititt9问问例子:词频统ttis例子:词频统ttistisnotisnotititt问吞吐量(问吞吐量(多个进程同时改变同步(同时修改需要锁其他问易用其他问易用通用什么样的抽象数据并行的分治策(MapReduce 数据并行的分治策(MapReduce Map Reduce的基本编程模Map Reduce的基本编程模例子:词频统ttis tt isnotisnot tititMap 例子:词频统ttis tt i

3、snotisnot tititMap Map Map is2,notMap t 2,is ist is2,itt isteduceis6;itttducenott is6;it2;nott 例子:词频统Reduce过程对于某个单词对应的所例子:词频统Reduce过程对于某个单词对应的所有次数进行map(String/ /StringlocalCount=CountLocally(input_value); for each count:Emit(word,count); /Producecount oftringword,ermediatethewordermediate_values:ali

4、stofresult = foreach v result+=21 种类比种类比执行步Map函数,通过将输入数据分执行步Map函数,通过将输入数据分割成M块,来被分布式地调通常每个数据块16MB或者取决于GFS的数据块大输入数据由不同的服务器来并行的处Reduce函数,通过将中间结果分割成R块,来被分布式地调用户挑选Mservers,R很大的M值能够有助于负载均衡,以及从失败中恢 每R个调用,对应一个输出文件,所以RMapReduce 执行MapReduce 执行2000服务器200,000Map任务5,000Reduce洗牌过程(通过key来分组Partitionfcp Mapemit ke

5、y,洗牌过程(通过key来分组Partitionfcp Mapemit key,hard_id= Shardt :he:Shardthis:Shardhe:Shardthis:Shardis:me :Shardis:uceShardthis:ShardShardhe: t :Shardthis:t :he:t : 2, 4 he:1, 66this:2, 11RemoteMapReduce SMapReduce S2 eteMapReduce SMapReduce S2 eteMapReduce SMapReduce S2 eteMapReduce SMapReduce S2 eteMapRe

6、duce SMapReduce S2 eteMapReduce SMapReduce S2 eteMapReduce SMapReduce S2 -ete展示MapReduce任务运展示MapReduce任务运29分钟用于Map任务以及洗牌任12分钟用于Reduce任一共使用了1707个工作服务Map(GreenShuffle(RedReduce(Blue)读0.8TB,写0.5读0.5TB,写0.5读0.5TB,写0.5MapReduce冗余执慢的工作节点MapReduce冗余执慢的工作节点极大地延长Indepe解决方案:在接近结束时,生成任务的份影响:极大地缩短任务完成时资源增加3%,大型

7、任务速度提高MapReduc故障处控制MapReduc故障处控制节点通过周期性的心跳来检测故重新执MapReduce理解要严格的MapReduce理解要严格的键值对同样细粒度的操作(Map&Reduce)重复作操作必须是操作必须是幂等的/没有副作用操作&Reduce)的输MapReduce用来做什么: Search NewsMapReduce用来做什么: Search News进行文章聚 为Yahoo!Search为:数据挖进检检MapReduce优分布式过程完全透没有一行的分布式编程(既方便,又保证正确性自动MapReduce优分布式过程完全透没有一行的分布式编程(既方便,又保证正确性自动的

8、容错自动的规模缩自动及时移动任务,投机性地执行慢的任务(称为MapReduce缺MRMMMRJoin,MapReduce缺MRMMMRJoin,“Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks”, Michael Isard, MihaiBudiu,YuanYu,AndrewBirrell,andDennisFetterly,EuropeanConferenceonComputer Systems (EuroSys), Lisbon, Portugal, March 21-23, 2007SJo

9、b 2-DUnixPipes:1-grep2-DUnixPipes:1-grep| sed |sort|awkDryad: 2-grep1000 sed500 |sort1000| SlideCredit: Mihai4Virtualized2-DVirtualized2-DMihi Virtualized2-DVirtualized2-DMihi Virtualized2-DVirtualized2-DMihi Virtualized2-DVirtualized2-DMihi Virtualized2-DVirtualized2-D2D Mihi DryadJobDryadJobMihi d

10、atajobVVVJobManagercontroldatajobVVVJobManagercontrolCentralized ManagereisnotCentralized ManagereisnotEntiremanagerSimpleeisheldinusenorunawayionsonmanagerManagercrashcausescompletejob1. clusterMih1. clusterMihi7. GenerateInitialize3.8.4. FaultFaultMihi MapReduce缺MRMMMRJoin,MapReduce缺MRMMMRJoin,示例数

11、据分析找出每个类型中前十个的页示例数据分析找出每个类型中前十个的页类用时数据LoadGroupby数据LoadGroupbyForeach generate LoadUrlJoinonGroupbygeneratetop10MapReduce代MapReduce代g高级编程语言快速的MapReduce工g高级编程语言快速的MapReduce工作序最先应用于=load/data/visits=load/data/visitsas(user,url,=groupvisitsby=foreachgVisitsgenerateurl,= load /data/urlInfo as (url, cate

12、gory, =joinvisitCountsbyurl,urlInfobygCategories=groupvisitCountsbytopUrls = foreach gCategories generate ostore 快速入门与互操作=load快速入门与互操作=load/data/visitsas( ser,url,=groupvisitsby=foreachgVisitsgenerateurl,= load /data/urlInfo as (url, category, =joinvisitCountsbyurl,urlInfobygCategories = grop visitC

13、ounttetopUrls = foreach gCategories generate o快速入门与互操作= load /data/visits快速入门与互操作= load /data/visitsas (user, url, =groupvisitsby=foreachgVisitsgenerateurl,= load /data/urlInfoas (url, category, =joinvisitCountsbyurl,urlInfoby= uviiatertopUrls = foreach gCategories generate ostore 用户代码是一等公= load 用户代

14、码是一等公= load /data/visitsas (user, url, = guvisits by rl;= gisits eurl, Load, laalf alategory, =joinvisitCountsbyurl,urlInfobygCategories=groupvisitCountsbytopUrls = foreach gCategories generate ostore 嵌套数据模嵌套数据模 原子值(Atomic Values),元组(tuples),包(列表yahoo 嵌套数据模解耦操作作为一个独立的groupby嵌套数据模解耦操作作为一个独立的groupby共同

15、分组共同分组实自动+优Map-50%实自动+优Map-50%的Yahoo!的每天1000多个任编译嵌入Load编译嵌入LoadForeach generate LoadUrlJoinon其他操作进入mapreduce阶段的流水Foreach generate 抽象的优抽象的优可以逐渐优化,不影响用户使优化:合并函数优化:合并函数优化: 连接两个偏态分优化: 连接两个偏态分11优化:碎连接(Fragment-Replicate 优化:碎连接(Fragment-Replicate 如果size(dataset1size(dataset数据集2到数据集1的分片打开数据集2为“slideLoadGro

16、upGroupLoadGroupGroupApplyAppyeLoadGroupLoadGroupGroupApplye其他类似框其他类似框基于MapReduce在聚合之后,严格的过滤结基于MapReduce的类似SQL的语基于Dryad的类似SQL的语“DryadLINQ:ASystemeneral-eDistributed“DryadLINQ:ASystemeneral-eDistributedData-ParallelComputingUsingaHigh-Language”, Y. Yu, M. Isard, D. Fetterly, M. Budiu, U. Erlingsson,

17、P. Gunda, and J. Currey, ium OperatingSystemDesignandion(OSDI),SanDiego,CA,December8-10,AutomaticqueryplangenerationbyAutomaticdistributedexecutionbysegratedAvailableinVisualStudioAsetofoperatorstomanipulatesegratedAvailableinVisualStudioAsetofoperatorstomanipulatedatasetsinPrograms can call DataOperators can invoke arbitrary .NET Dataelementsarestronglytyped.NETorenSQLHighlyAddnewcustomAddnewexecutionSlideCredit:ua9DryadLINQData.NetElementsof typeesmetadataPartitionedtable type,partition,DryadLINQData.NetElementsof typeesmetadataPartitionedtable type,partition,scheme,serialization,LINQSyste

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论