hadoop开发实战培训36-mapreduce高阶实现

hadoop开发实战培训36-mapreduce高阶实现

ID:36331275

大小:1.73 MB

页数:12页

时间:2019-05-09

hadoop开发实战培训36-mapreduce高阶实现_第1页
hadoop开发实战培训36-mapreduce高阶实现_第2页
hadoop开发实战培训36-mapreduce高阶实现_第3页
hadoop开发实战培训36-mapreduce高阶实现_第4页
hadoop开发实战培训36-mapreduce高阶实现_第5页
资源描述:

《hadoop开发实战培训36-mapreduce高阶实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

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

4、来实现根据组合键进行排序setPartitionerClass:需要指定自定义分区的类根据组合键中的自然键进行分区setOutputValueGroupingComparator:指定用户自定义的comparator,用于将reduce的输入进行分组将自然键key相同的放到一起,相同key的value放到一个value迭代器里实例代码:二次排序实例代码:二次排序实例代码:二次排序实例:二次排序运行程序$hadoopjarjob.jarMaxTemperatureUsingSecondarySortinput/ncd

5、c/alloutput-secondarysort $hadoopfs-catoutput-secondarysort/part-*

6、sort

7、head欢迎访问我们的官方网站www.ibeifeng.com

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。