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类似于垂直分区,亮点是不同复本用不同的垂直分区。

posted on   风生水起  阅读(677)  评论(0编辑  收藏  举报
< 2013年1月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9

点击右上角即可分享
微信分享提示