hadoop开发实战培训36-MapReduce高阶实现.ppt
《hadoop开发实战培训36-MapReduce高阶实现.ppt》由会员分享,可在线阅读,更多相关《hadoop开发实战培训36-MapReduce高阶实现.ppt(12页珍藏版)》请在装配图网上搜索。
Hadoop大数据解决方案进阶应用 Hadoop 讲师 迪伦 北风网版权所有 MapReduce高阶实现 10 Terasort算法分析二次排序 课程目标 maptask对数据记录做标记 每个maptask从文件 partition lst读取分割点 并创建trie树 假设是2 trie 即组织利用前两个字节 Maptask从split中一条一条读取数据 并通过trie树查找每条记录所对应的reducetask编号 二次排序 辅助排序 MapReduce在记录到达reducer之前按key排好序 但key所对应的value并没有被排序由于值来自不同的map任务 多次运行程序时 值出现的顺序并不固定二次排序是通过对键进行排序和分组以实现对值的排序二次排序就是首先按照第一字段排序 然后再对第一字段相同的行按照第二字段排序实例 设计一个MapReduce程序以计算每年最高气温思路 实现全部记录按照年升序排列 按照气温降序排列 则只需获取各年份的首条记录即可 实例 二次排序 处理过程构建一个同时包含年份和气温信息的组合键 期望所有记录先按年份升序排列 再按气温降序排列设定一个按照键的年份进行分区的partitioner 以确保同一年的记录被发送到同一个reducer中 实例 二次排序 进行分组设置 如果reducer中的值按照键的年份进行分组 则一个reducer组将包括同一年份的所有记录 排序方法的总结定义包括自然键和自然值的组合键键的comparator根据组合键对记录进行排序 即同时利用自然键和自然值进行排序针对组合键的partitioner和分组comparator在进行分区和分组时均只考虑自然键 二次排序相关的类 setOutputKeyComparatorClass 参数为继承RawComparator的子类通常利用继承WritableComparator来实现根据组合键进行排序setPartitionerClass 需要指定自定义分区的类根据组合键中的自然键进行分区setOutputValueGroupingComparator 指定用户自定义的comparator 用于将reduce的输入进行分组将自然键key相同的放到一起 相同key的value放到一个value迭代器里 实例代码 二次排序 实例代码 二次排序 实例代码 二次排序 实例 二次排序 运行程序 hadoopjarjob jarMaxTemperatureUsingSecondarySortinput ncdc alloutput secondarysort hadoopfs catoutput secondarysort part sort head 欢迎访问我们的官方网站- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- hadoop 开发 实战 培训 36 MapReduce 实现
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文