没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
海数科技,数据处理专家! www.hidatas.com
海数科技,专注 Hadoop 大数据处理、Oracle 数据库运维! www.hidatas.com
海数科技 Hadoop 大数据处理文献
MapReduce 模型:二次排序
二次排序:
完整的二次排序具有多个层次的排序功能,可以有效提高系统的处理性能。
排序功能分别包括:排序分区、Key值排序、Key值分组
需要注意的是,这多个层次的排序功能均只能针对Key进行,而不能针对Value进行排序。在业务应用时,
尽量将需要排序的字段放到Key中去。
排序分区:
通过job.setPartitionerClass方法,可以实现对排序分区。
排序分区是针对全局的Key而言的,在全局范围内按Key中某一个或某几个字段的内容进行划分。但在数值
上,并不一定按数据值进行排序。排序分区的意义是,在全局范围内,默认情况使用Hash对Key进行排序,
并根据Key值将其放置到一个合适的分区内。
Key值排序:
通过job.setSortComparatorClass方法,可以实现Key值排序。
Key值排序是针对分区内的Key值而言,它可以配合分区,实现Key全局范围内的升序或降序排序。
Key值排序的意义是,在分区范围内,对Key的一个或多个字段按指定方式排序。
Key值分组:
通过job.setGroupingComparatorClass方法,可以实现Key值分组。
Key值分组的目的是自定义分组,使Key中具备某些条件的字段分成一组。
Key值分组的意义是控制Key的分组数量,一次组对应一次Reduce调用,并进而控制调用Reduce的次数。
需要注意,错误的Key值分组,可能引起统计等操作的数值错误。
测试数据:
$ more source.txt
资源评论
harveyliujob
- 粉丝: 3
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功