MapReduce框架的扩展、增强与系统优化
1. 数据布局与放置优化
1.1 Trojan数据布局
Trojan数据布局利用HDFS中现有的数据块复制机制,为每个副本创建不同的布局。它会根据查询工作负载,通过列分组算法将属性共同定位,使用有趣性度量来确定一组属性对查询的加速效果。在查询时,MapReduce作业会自动适配到能最小化数据访问时间的数据块副本。
1.2 有效数据放置
在Hadoop项目的基本实现中,数据放置策略旨在通过在数据服务器间均匀分布数据来实现良好的负载平衡。但对于处理多文件数据的应用,缺乏数据共置会增加数据混洗成本、网络开销并降低数据分区的有效性。
CoHadoop是Hadoop的轻量级扩展,它引入了一个新的文件属性“定位器”,用于识别相关数据文件,并修改Hadoop的数据放置策略,将相关文件的副本放置在同一服务器上。其操作步骤如下:
1. 为HDFS中的每个文件分配一个定位器(最多一个),多个文件可分配相同的定位器。
2. 具有相同定位器的文件将被放置在同一组数据节点上,无定位器的文件按Hadoop默认策略放置。
3. 使用定位器表来管理定位器信息和跟踪共置文件,该表存储定位器到共享该定位器的文件列表的映射。
以下是一个CoHadoop文件共置的示例表格:
| 文件 | 定位器 | 数据节点 |
| — | — | — |
| 文件A | 1 | 节点1, 节点2, 节点3 |
| 文件B | 1 | 节点1, 节点2, 节点3 |
| 文件C | 2 | 节点4, 节点5 |
超级会员免费看
订阅专栏 解锁全文
32

被折叠的 条评论
为什么被折叠?



