hadoop 排序
2016-03-11 01:37
330 查看
排序顺序
默认由RawComparator 控制
if mapred.output.key.comparator.Class 被设置 / JobConf setOutputKeyComparatorClass 方法
使用这个类的实例作为比较器
else 自定义比较器必须继承WritableComparator , 比较对象必须 是 继承 WritableComparable子类
如果没有自定义的comparator, 使用RawComparator进行反序列化 , 委托给 WritableComparable 子类的 compareTo方法
全局排序
二次排序
Map: Mapper -> [first sort] to generate partition(extends
Partitioner<CombinationKey,IntWritable>
->
[second sort] for sorting cross-group and in-group data
(
->
shuffle
Reduce: [group] ( { [sort1, 1],[sort1,2] } => [sort1,(1,2)] ) (
实例参考 http://zengzhaozheng.blog.51cto.com/8219051/1379271
默认由RawComparator 控制
if mapred.output.key.comparator.Class 被设置 / JobConf setOutputKeyComparatorClass 方法
使用这个类的实例作为比较器
else 自定义比较器必须继承WritableComparator , 比较对象必须 是 继承 WritableComparable子类
如果没有自定义的comparator, 使用RawComparator进行反序列化 , 委托给 WritableComparable 子类的 compareTo方法
全局排序
二次排序
Map: Mapper -> [first sort] to generate partition(extends
Partitioner<CombinationKey,IntWritable>
job.setPartitionerClass(DefinedPartition.
class
))
->
[second sort] for sorting cross-group and in-group data
(
job.setSortComparatorClass(DefinedComparator.
class
))
->
shuffle
Reduce: [group] ( { [sort1, 1],[sort1,2] } => [sort1,(1,2)] ) (
job.setGroupingComparatorClass(DefinedGroupSort.
class
)) => reduce
实例参考 http://zengzhaozheng.blog.51cto.com/8219051/1379271
相关文章推荐
- 搭建linux服务器之Debian源相关
- Docker入门介绍
- Docker镜像加速器
- opacity与rgba
- Powershell管理系列(三十)PowerShell操作之统计邮箱的用户信息
- Powershell管理系列(三十)PowerShell操作之统计邮箱的用户信息
- 什么是shell
- 《学习opencv1.0》总结
- Linux下Shell编程快捷键大全(日常整理)
- Linux服务器硬件运行状态及故障邮件提醒的监控脚本分享
- Python2.x利用commands模块执行Linux shell命令
- 亚马逊美国网站“挂了”20分钟,网友炸锅
- Tomcat的安装与配置
- 手动运行脚本执行正常而放入crontab调用hadoop命令没有执行成功
- nginx负载均衡实现tomcat集群
- Linux下Mysql主从配置
- Linux学习笔记:chmod 修改文件或文件夹权限
- Linux安装ACE 6.3.0
- Linux 学习日记 3: 环境变量与文件查找
- Linux命令大全