WritableComparable排序案例(区内排序)
WritableComparable排序案例(区内排序)
- 需求
- 1. 需求说明
- 2. 文件
- 案例分析
- 1. 需求分析
- 2. 输入数据
- 3. 期望输出数据
- 4. 实现基于WritableComparable排序案例(全排序)
- 5. 增加自定义分区类
- 代码实现
- 1.基于WritableComparable全排序
- 2.增加自定义分区类
- 3. 修改Driver类
需求
1. 需求说明
要求每个省份手机号(前三位手机号决定省份)输出的文件中按照总流量内部排序
2. 文件
案例分析
1. 需求分析
在全排序的基础上增加自定义分区类,分区按照省份手机号设置。
2. 输入数据
3. 期望输出数据
4. 实现基于WritableComparable排序案例(全排序)
WritableComparable排序案例(全排序)实现过程
5. 增加自定义分区类
自定义分区类ProvincePartitioner继承Partitioner
代码实现
1.基于WritableComparable全排序
WritableComparable排序案例(全排序)实现过程
2.增加自定义分区类
package com.atguigu.mr.sort;import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Partitioner;public class ProvincePartitioner extends Partitioner<FlowBean, Text>{@Overridepublic int getPartition(FlowBean key, Text value, int numPartitions) {//按照手机号前三位进行分区String prePhoneNum = value.toString().substring(0,3);int partition = 4;if ("136".equals(prePhoneNum)) {partition = 0;}else if ("137".equals(prePhoneNum)) {partition = 1;}else if ("138".equals(prePhoneNum)) {partition = 2;}else if ("139".equals(prePhoneNum)) {partition = 3;}return partition;}}
3. 修改Driver类
在Driver添加分区类,增加的代码如下
//关联分区job.setPartitionerClass(ProvincePartitioner.class);// 设置Reducetask个数job.setNumReduceTasks(5);
结果截图
WritableComparable排序案例(区内排序)相关推荐
- WritableComparable排序案例(全排序)
WritableComparable排序案例(全排序) 需求 1. 需求说明 2. 文件 案例分析 1. 需求分析 2. 输入数据 3. 期望输出数据 4. FlowBean类 5. Mapper类 ...
- js时间-价格-排序案例____冒泡排序实例
js 时间-价格-排序,静态页面排序案例 冒泡排序实例 在项目中用到的一个例子,分享一下. var sort = { sortdata : '', //排序之前必须先填充原始数据 //来源我 ...
- 函数模板案例—选择排序
案例描述: 1.利用函数模板封装一个排序算法,可以对不同数据类型数组进行排序 2.排序规则从大到小,排序算法为选择排序 3.分别利用char数组和int数组进行测试 #include<iostr ...
- 分享一个有趣的shell脚本--单词及字母去重排序案例
概述 今天主要分享一个用shell脚本来实现单词及字母去重排序案例,下面一起来看下吧~ 需求 1.按单词出现频率降序排序! 2.按字母出现频率降序排序! 相关文本: the squid project ...
- Vue中使用andt组件a-table列表数据根据点击的表头进行升/降排序-案例
官方示例-API链接 数据根据当前点击的内容进行升降排序 使用步骤 数据量过少,可以使用前端排序方式 //官方案例 <template><a-table :columns=" ...
- //排序案例//按照年龄进行升序,年龄相同按照身高降序
///排序案例 //按照年龄进行升序,年龄相同按照身高降序 #include<iostream> #include<string> #include<list> u ...
- C++ list 排序案例
代码如下: #include<iostream> using namespace std; #include<string> #include<algorithm> ...
- python set 排序_python set 排序_如何在Python中使用sorted()和sort()
点击"蓝字"关注我们 ?"Python基础知识" 大卫·丰达科夫斯基 著 18财税3班 李潇潇 译 日期:2019年5月6日 一. 使用sorted() ...
- 排序算法:桶排序、计数排序、基数排序
相关博客: 排序算法:冒泡排序.插入排序.选择排序.希尔排序 排序算法:归并排序.快速排序 排序算法:桶排序.计数排序.基数排序 排序算法:堆排序 十大排序算法小结 这篇博客将主要介绍三种时间复杂度是 ...
最新文章
- 别忘了在使用MES系统之前,还有关键一步!
- cocos2dx 3.3 Director setNotificationNode BUG
- iOS 直接使用16进制颜色
- 详细解析Linux /etc/passwd文件
- ubuntu nginx添加站点配置失效处理
- 一加手机安装鸿蒙系统,【新机】华为MatePad Pro 2官宣,刘作虎点赞鸿蒙手机
- JAVA EE 开发中 常用的API包
- Git Your branch is ahead of ‘origin/master‘ by X commits解决方法
- Xcode 6 免证书真机调试
- OUC_Summer Training_ DIV2_#11 722
- Android-关于屏幕适配的一些经验
- 模型的泛化能力--正则化
- matlab绘画复指数函数,MATLAB | 绘制复指数函数 y = exp(j*w*n)的三维图像
- 2 年前端面试心路历程总结(字节跳动、YY、虎牙、BIGO)
- Final Cut Pro X 精选插件合集!
- redis 如何切换db
- 大数据之Hadoop学习——动手实战学习MapReduce编程实例
- python爬虫找漫画出现断章?那你就得看这篇爬虫思想教学咯!
- Kafka+zookeeper集群搭建
- JavaSE_第4章 数组