- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mapreduce-连接优化-厦门大学数据库室
基于数据索引的连接 该类算法的思想是利用合适的索引对数据进行过滤,以优化查询的性能。 Hadoop++和HadoopDB都可以利用索引提高连接操作的性能。 Hadoop++主要利用寄宿索引技术来提高数据查询、连接的性能。寄宿索引将索引加入到Block信息中,并添加了Footer部分用以分隔各个分片Hadoop++利用MapReduce作业来完成索引的构建。在进行数据查询时,split函数从文件末尾根据Footer信息解析出每个分片的位置,itemize函数根据数据查询的范围定位满足条件的数据。在此基础上,Hadoop++还对数据连接、数据布局方面进行了优化。 HadoopDB 在Hadoop 和 Hive上进行了修改,完成了由SQL语句生成MapReduce作业和作业中每个任务执行的SQL语句的过程。在查询时,HadoopDB将数据导入到数据库中,利用数据库中的索引及查询优化机制提高查询性能。 基于数据索引的连接 CoHadoop通过改变Hadoop的副本放置策略来提高 MapReduce 框架处理数据连接性能。CoHadoop 为每个文件增加 Locator 字段来标识其他存储位置,具有相同Locator信息的文件将被尽量组织在相同的数据节点上。在Master节点上维护一个Locator的Hash表,用来存储每个文件的存储位置,这样在进行两表连接运算时,需要连接的两表数据在同一节点上的概率非常高,可以有效减少数据混洗的代价。然而,CoHadoop需要预先得到需要连接运算的各个表大致的相关分布情况,不具有普遍适应性。 Tenzing系统可以用来进行数据连接的优化。Tenzing 是一个异构的系统,其后台融合了ColumnIO、BigTable、GFS、MySQL 数据库等系统。Tenzing 可以在这些系统上进行 SQL 操作,并且可以对底层数据进行数据过滤和数据索引,以提高查询效率。 多表连接系统Llama是基于垂直分组的。Llama导入数据表时会建立包含所有列并按主键排序的基本垂直分组。在连接操作时,Llama根据需要建立包含部分列并按某一列排序的辅助垂直分组,以及为每个外键建立包含该外键与主键并按外键排序的PF垂直分组。Llama将多表连接查询分解为无数据耦合的多个子查询,在Map阶段利用排序好的垂直分组进行子查询的连接操作,在Reduce阶段对子查询结果进行合并完成连接操作。Llama利用类似于 Map-Join-Reduce框架的技术以减少MapReduce 作业数。 连接技术简介 基于传统 MapReduce 的连接 基于数据索引的连接 基于改进 MapReduce 的连接 基于改进 MapReduce 的连接 使用传统MapReduce处理连接查询时,经常需要多个MapReduce作业,并且需要产生大量的中间结果。另外,待连接的数据源往往是异构的,在使用MapReduce 进行连接操作时,需要进行同构化的处理。为了解决这些问题,一些学者对MapReduce框架进行了扩展,具有代表性的有Map-Reduce-Merge、Map-Join-Reduce 与 ComMapReduce 框架。 Map-Reduce-Merge框架 welcome to use these PowerPoint templates, New Content design, 10 years experience 简介 Map-Reduce-Merge框架是在MapReduce框架上增加Merge阶段。当两组MapReduce任务完成时,协调者节点会利用一个merge 函数将两组 MapReduce 结果进行合并。利用Map-Reduce-Merge 这种新的编程框架,可以方便地实现关系数据库中的连接及笛卡儿积操作。对于map、reduce、merge 操作,用户都可以实现自定义的逻辑,因此Map-Reduce-Merge框架比MapReduce框架更具表达力。为了进一步提高Map-Reduce-Merge连接查询效率,可以使用MapReduce作业建立索引的方法,可以有效地在Map-Reduce-Merge框架上进行数据剪枝。针对半连接中对数据倾斜处理的不足,以及分布式处理方法中数据传输量较大等问题,在Map-Reduce-Merge架构的基础上,进一步提出了半连接的处理方案,并通过使用分布式直方图等技术来协助处理,从而降低了I/O消耗和网络传输负担,提高了框架的可扩展性和可用性。 Map-Join-Merge框架 welcome to use these PowerPoint templates, New Content design, 10 years experience 简介 Map-Join-
文档评论(0)