secondary sort

原创 2012年03月30日 14:13:54
class FirstPartitioner extends Partitioner<Text, MapWritable> {
    @Override
    public int getPartition(Text key, MapWritable value, int numPartitions) {
      String []allKey = key.toString().split("\t");
      if(allKey.length<2){
        throw new RuntimeException("key's indicator does not exist.");
      }
      String url = allKey[0];
      return Math.abs(url.hashCode()) % numPartitions;
    }


  }


   class KeyComparator extends WritableComparator {
    protected KeyComparator() {
      super(Text.class, true);
    }
    @Override
    public int compare(WritableComparable w1, WritableComparable w2) {
      Text ip1 = (Text) w1;
      Text ip2 = (Text) w2;
      int cmp = ip1.toString().split("\t")[0].compareTo(ip2.toString().split("\t")[0]);
      if (cmp != 0) {
        return cmp;
      }
      return -ip1.toString().split("\t")[1].compareTo(ip2.toString().split("\t")[1]); //reverse
    }
  }


  class GroupComparator extends WritableComparator {
    protected GroupComparator() {
      super(Text.class, true);
    }
    @Override
    public int compare(WritableComparable w1, WritableComparable w2) {
      Text ip1 = (Text) w1;
      Text ip2 = (Text) w2;
      return ip1.toString().split("\t")[0].compareTo(ip2.toString().split("\t")[0]);
    }
  }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Hadoop实现Secondary Sort(一)

Hadoop的MapReduce模型支持基于key的排序,即在一次MapReduce之后,结果都是按照key的大小排序的。但是在很多应用情况下,我们需要对映射在一个key下的value集合进行排序,即...

Hadoop 之 Secondary Sort介绍

Hadoop 之 Secondary Sort介绍 --------------------------- 我们知道,在reduce之前,MP框架会对收到的对按K进行排序,而对于一个特定的K来说,...

Hadoop Map Reduce Secondary Sort

How to sort the value? Hadoop.The.Definitive.Guide.3rd.Edition show that answer: 1. Make the k...

Hadoop实现Secondary Sort (三)

一、背景 排序对于MR来说是个核心内容,如何做好排序十分的重要,这几天写了一些,总结一下,以供以后读阅。 二、准备 1、hadoop版本是0.20.2 2、输入的数据格式(这个很重要,看清楚格...

The difference of Post-Secondary education between USA and China

1.About burden Amercian education from kindergarten to university, the burden is gradually increase...

Secondary Storage VM 介绍

Secondary Storage VM 二级存储虚拟机简称ssvm, 作为系统虚机的一种,在cloudstack中扮演了很重要的角色,没有它很多功能都无法实现。 一、 什么是ssvm?      ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)