hadoop开发实战培训36 - MapReduce高阶实现(10)

上传人:飞*** 文档编号:46090462 上传时间:2018-06-22 格式:PPT 页数:12 大小:1.54MB
返回 下载 相关 举报
hadoop开发实战培训36 - MapReduce高阶实现(10)_第1页
第1页 / 共12页
hadoop开发实战培训36 - MapReduce高阶实现(10)_第2页
第2页 / 共12页
hadoop开发实战培训36 - MapReduce高阶实现(10)_第3页
第3页 / 共12页
hadoop开发实战培训36 - MapReduce高阶实现(10)_第4页
第4页 / 共12页
hadoop开发实战培训36 - MapReduce高阶实现(10)_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《hadoop开发实战培训36 - MapReduce高阶实现(10)》由会员分享,可在线阅读,更多相关《hadoop开发实战培训36 - MapReduce高阶实现(10)(12页珍藏版)》请在金锄头文库上搜索。

1、HadoopHadoop大数据解决方案大数据解决方案进阶应进阶应进阶应进阶应 用用Hadoop讲师:迪伦(北风网版权所有)MapReduce高阶实现 (10)q Terasort算法分析q 二次排序课程目标map task对数据记录做标记q 每个map task从文件_partition.lst读取分割点,并创建trie树 (假设是2-trie,即组织利用前两个字节) q Map task从split中一条一条读取数据,并通过trie树查找每条 记录所对应的reduce task编号二次排序(辅助排序)q MapReduce在记录到达reducer之前按key排好序,但key所 对应的valu

2、e并没有被排序 q 由于值来自不同的map任务,多次运行程序时,值出现的顺序 并不固定 q 二次排序是通过对键进行排序和分组以实现对值的排序 q 二次排序就是首先按照第一字段排序,然后再对第一字段相同 的行按照第二字段排序 q 实例:设计一个MapReduce程序以计算每年最高气温 思路:实现全部记录按照年升序排列,按照气温降序排列 ,则只需获取各年份的首条记录即可实例:二次排序q 处理过程 构建一个同时包含年份和气温信息的组合键,期望所有记录先按 年份升序排列,再按气温降序排列 设定一个按照键的年份进行分区的partitioner,以确保同一年的 记录被发送到同一个reducer中实例:二次

3、排序 进行分组设置。如果reducer中的值按照键的年份进行分组,则一 个reducer组将包括同一年份的所有记录q 排序方法的总结 定义包括自然键和自然值的组合键 键的comparator根据组合键对记录进行排序,即同时利用自然键 和自然值进行排序 针对组合键的partitioner和分组comparator在进行分区和分组时 均只考虑自然键二次排序相关的类q setOutputKeyComparatorClass:参数为继承 RawComparator的子类 通常利用继承WritableComparator来实现根据组合键进行排序 q setPartitionerClass: 需要指定自定

4、义分区的类 根据组合键中的自然键进行分区q setOutputValueGroupingComparator : 指定用户自定义的 comparator,用于将reduce的输入进行分组 将自然键key相同的放到一起,相同key的value放到一个value迭 代器里实例代码:二次排序实例代码:二次排序实例代码:二次排序实例:二次排序q 运行程序 $ hadoop jar job.jar MaxTemperatureUsingSecondarySort input/ncdc/all output-secondarysort $ hadoop fs -cat output-secondarysort/part-* | sort | head欢迎访问我们的官方网站

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号