MapReduce - A - 迭代(多次MR)

题目:
对给定的文件进行词频统计,然后按照词频从大到小排序
词频相同时,按照单词的字典序

思路:
通过两个MR进行解决
第一个MR:统计词频
第二个MR:利用Shuffle阶段的排序,实现排序效果

代码:

//单词类

package Test02;

import org.apache.hadoop.io.WritableComparable;

import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;

public class WordWritable implements WritableComparable<WordWritable> {
    private String word;
    private int num;

    public int compareTo(WordWritable o) {
        int tmp = o.num-this.num;
        if(tmp != 0){
            return tmp;
        }
        return this.word.compareTo(o.word);
    }

    public void write(DataOutput dataOutput) throws IOException {
        dataOutput.writeUTF(this.word);
        dataOutput.writeInt(this.num);
    }

    public void readFields(DataInput dataInput) throws IOExcep
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值