开发者社区> 代码的天敌是懒惰> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Reduce 端程序编写

简介: Reduce 端程序编写
+关注继续查看

 **分析**:这里的 `reduce()`方法只需要实现将 Map 端输出的 key-value 调换后输出即可。


public class FlowSumSortReducer extends Reducer<FlowBeanSort, Text, Text, FlowBeanSort> {
    /*
     * <FlowBeanSort,电话号> ===> <电话号,FlowBeanSort>
     */
    @Override
    protected void reduce(FlowBeanSort key, Iterable<Text> values,
            Reducer<FlowBeanSort, Text, Text, FlowBeanSort>.Context context) throws IOException, InterruptedException {
        // 遍历集合
        for (Text tele : values) {
            // 将手机号作为key,将封装好的流量信息作为value,作为最终的输出结果
            context.write(new Text(tele), key);
        }
    }
}

- **KEYIN**:对应 Mapper 端输出的 KEYOUT,即封装的流量信息类 FlowBeanSort

- **VALUEIN**:对应 Mapper 端输出的 VALUEOUT,即手机号,所以是 String,对应 Hadoop 中的 Text

- **KEYOUT**:用户自定义逻辑方法返回数据中key的类型,由用户业务逻辑决定,在此程序中,我们输出的key是手机号,所以是String,对应 Hadoop 中的 Text

- **VALUEOUT**:用户自定义逻辑方法返回数据中value的类型,由用户业务逻辑决定,在此程序中,我们输出的value是封装好的实现了自定义排序的流量信息类,所以是 FlowBeanSort

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
套接字编程:UDP通信程序编写、套接字接口、字节序转换接口
套接字编程:UDP通信程序编写、套接字接口、字节序转换接口
3 0
SCHEDULE(调度程序)
很多情况下,数据库管理员或用户需要自动调度和运行很多类型的作业,例如,执行维护工作(如数据库备份);数据加载和验证例程; 生成报表;收集优化程序统计信息或执行业务流程。可以使用调度程序功能指定任务在将来某个时间点运行。作业可以在数据库中、在驻 留数据库实例的机器上甚至在远程机器上运行。 可以结合使用调度程序和Resource Manager(资源管理器)。调度程序可以激活Resource Manager计划,并按照为各种Resource Manager 使用者组指定的优先级来运行作业。 调度程序是在Oracle 10g版本中引入的,在11g版本中得到了
314 0
MapReduce编程实例
需求 输入文件:文本文件 每行格式: 3个部分由空格隔开 其中source和destination为两个字符串,内部没有空格 time为一个浮点数,代表时间(秒为单位) 涵义:可以表示一次电话通话,或表示一次...
958 0
MapReduce的编程思想(1)
MapReduce的编程思想(1) MapReduce的过程(2) 1. MapReduce采用分而治之的思想,将数据处理拆分为主要的Map(映射)与Reduce(化简)两步,MapReduce操作数据的最小单位是一个键值对。 2. MapReduce计算框架为主从架构,分别是JobTracker与TaskTracker。 JobTracker在集群中为
1648 0
Mapeduce编程八大步骤
Mapreduce编程八大步 1.1:指定读取的文件位于哪里 FileInputFormat.setInputPaths() 指定如何对输入文件进行格式化,把输入文本每一行解析为键值对 job.
754 0
MapReduce 二次排序详解
1 首先说一下工作原理: 在map阶段,使用job.setInputFormatClass定义的InputFormat将输入的数据集分割成小数据块splites,同时InputFormat提供一个RecordReder的实现。
792 0
程序编码
  看大图请点击:这 里  
519 0
+关注
代码的天敌是懒惰
拒绝摆烂,寻寻渐进持续学习
文章
问答
文章排行榜
最热
最新
相关电子书
更多
小程序 大世界
立即下载
15分钟打造你自己的小程序
立即下载
《15分钟打造你自己的小程序》
立即下载