zoukankan      html  css  js  c++  java
  • Hadoop++:Hadoop的局部性能改良

    Hadoop++是对Hadoop Map Reduce的非入侵式优化,通过自定义Hadoop框架中的split等函数来提升,提升查询和联接性能。 项目由德国Saarland大学Jens Dittrich教授主持。项目主页是 http://infosys.uni-saarland.de/hadoop++.php

    Hadoop++对Hadoop的优化主要是Trojan Index、Trojan Join和Trojan Layout三方面。

    1、Trojan Index

    Trojan index的核心是将数据组织成依次由数据、索引、Header和Footer这四部分构成的split,其中Footer是split的分界符,最后一 个Footer一定位于文件末尾。索引构建时由MapReduce完成排序。查询时split函数从文件末尾开始根据Footer信息解析出各个 split,itemize函数根据搜索范围条件快速定位满足条件的内容。

    以数据库技术类比,Trojan Index类似于索引组织表。

    2、Trojan Join

    Trojan Join根据联接属性将来自多表的相关记录分到一个split,组织成类似于Trojan Index的结构,itemize出来的记录同时包含了参与联接的双方的属性,这样不再需要在查询时再根据联接属性用map/shuffle /reduce来计算联接。

    以数据库技术类比,Trojan Join类似于多表聚簇。

    3、Trojan Layout

    类似于PAX,为block内部的数据组织方法,将查询中经常一起访问的属性组合在一起。不同复本用不同的Layout。根据负载计算最优的Layout,类似于背包算法。

    以数据库技术类似,Trojan Layout类似于垂直分区,亮点是不同复本用不同的垂直分区。

  • 相关阅读:
    论语心得
    水果总结
    欢乐颂
    大牌驾到
    Excel补全日期(日期按顺序补全)
    c语言define和typedef区别和使用
    c语言寄存器变量
    c语言伪常量const理解
    c语言静态断言-定义自己的静态断言
    c语言静态断言
  • 原文地址:https://www.cnblogs.com/end/p/2873515.html
Copyright © 2011-2022 走看看