PipelineJoin:一种新的基于MapReduce的多表连接算法

来源 :厦门大学 | 被引量 : 0次 | 上传用户:zi198
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
MapReduce是一种并行分布式计算模型,用于大规模数据集的并行运算。它具有良好的可扩展性、容错性、可用性,现在,无论在工业界还是在学术界都得到了广泛的应用。MapReduce比较热门的一个应用领域是处理大型表的连接操作,其中连接操作广泛应用于日志分析、数据分析处理以及联机分析处理等方面。应用MapReduce模型来处理连接操作,可以大幅度提高连接操作的速度,进而提高了数据分析效率和用户满意度。  现有的基于MapReduce的连接算法,按连接表的数量可以分为两表连接和多表连接两种。目前,针对两表连接的研究优化已经相当成熟,而针对多表连接的算法及其优化仍有很大的改进空间。特别是在处理链式多表连接时,现有的基于MapReduce的多表连接算法还存在很多的不足,具体体现在以下两个方面:(1)不能处理多个大表的连接。比如Smart Join算法,它的应用场景只适合于处理两个大表和多个小表之间的连接,并且两个大表之间必须有连接键;(2)需要顺序运行较多的MapReduce任务,效率较低。比如级联连接算法,在连接中排序靠后的表必须等待它前面的所有表完成连接后,再和它们的连接结果进行连接。所以,在应用场景不确定的情况下,采用现有的基于MapReduce的多表连接算法,或是不能有效执行多表链式连接,或是执行连接所需的时间太长不能满足实际需求。  本文提出了一个基于MapReduce的多表连接算法——Pipeline Join算法,该算法有效解决了现有的基于MapReduce的多表连接算法中存在的问题,可以高效地实现任意多个大表的链式连接。对于现有的基于MapReduce的多表连接算法不能处理多个大表的连接的问题,Pipeline Join算法的解决方法是:首先把待连接的表进行切割,然后采用调度器的方式,对来自不同表或不同连接结果集的待连接片段进行调度连接,这样通过切割调度就可以实现多个大表的连接。另外,对于现有的基于MapReduce的多表连接算法需要顺序运行较多的MapReduce任务,效率较低的问题,PipelineJoin算法的解决方法是:采用流水线模型,实现MapReduce任务的流水线式执行,从而有效提高了多表连接的效率。最后,本文在不同规模的数据集上对Pipeline Join算法进行了大量实验,实验结果表明Pipeline Join算法与原有链式多表连接算法相比,可以有效减少连接所需的时间。
其他文献
当今时代,移动动漫产业快速发展,移动终端越来越趋于个性化和多样化。为了让动漫图片能在纵横比不同的设备上更好地显示,需要经过一个有针对性的图像适配过程。传统的图像适配技
本文介绍的网页后门木马监测系统集网页后门木马扫描、网站备份、实时监控、文件恢复功能于一体,主要用于网站管理员对网站进行监控,并扫描已知特征的网页后门木马,实现网站
本文探讨云计算中使用的动态环境,解决了一些与在这种环境下工作流调度相关的主要问题。由于动态环境中的工作流调度是基于不同的标准完成的,因此不同的目标会造成多种不同的结
随着这几年以来计算机技术的飞速发展,对于实现符合日常人机交流习惯的新型交互手段的研究获得喜人的进展。虽然目前多以鼠标、键盘等传统的输入设备作为人机交互的媒介,但随着
现如今中间件的应用遍布各个领域,而且中间件的种类日益繁多,其中消息中间件所扮演的角色是越来越重要。消息中间件采用客户端和服务端进行松散耦合的异步通信方式,发送程序
在手机多媒体应用越来越普遍的现在,人们更关心的是在不耗费太多有限的手机存储以及运算资源的基础上能不能对使用手机拍摄出的照片实现有效、合理、符合需求的管理,以及照片
随着我国社会的快速发展,居民出行量成倍增长,城市交通越来越拥挤,大力发展公共交通,提高公共交通在整个居民出行中的分担率是改善城市交通问题的一个有效手段。其中,公交线
汽车电子嵌入式实时操作系统是汽车电子控制系统关键核心技术之一,也是国内外汽车电子产品竞争的焦点。为了满足我国汽车电子产业技术发展的需要,我校汽车电子与嵌入式系统研究
本论文中,首先提出了一种计算复杂性低而又有效的截断奇异值分解方法解决L2范数约束问题,用L曲线方法确定正则化参数,基于离体狗心脏数据集进行了实验,重建出了相应的心外膜电位
系统发育分析是生物学的一个重要研究领域,旨在重建所有物种的进化历史。系统发育树是一棵描绘物种进化关系的树,也叫做进化树。目前重建进化树的方法可以分为两大类:1)基于最优