zoukankan      html  css  js  c++  java
  • Partitioner

      partitioner 是map中的数据映射到不同的reduce时的根据。一般情况下,partitioner会根据数据的key来把数据平均分配给不同的reduce,同时保证相同的key分发到同一个reduce。但当一个数据不平衡时,即某个key对应的数据量太大,导致reduce的空间不够,或者计算耗费太多时间时,可以重写partitioner,来按照实际情况分发数据。

    下面是一个partitioner的例子,很简单,不多说了。

    	public static class TestPartitioner<K, V> extends Partitioner<K, V> { 
    
    		
    		  /** Use {@link Object#hashCode()} to partition. */ 
    		  public int getPartition(K key, V value, 
    		                          int numReduceTasks) { 
    		    return (key.hashCode() & Integer.MAX_VALUE) % numReduceTasks; 
    //			数据均传给第一个reduce
    //			return 0;
    		  } 
    
    	} 
    

      

  • 相关阅读:
    RIGHT JOIN 关键字
    LEFT JOIN 关键字
    INNER JOIN 关键字
    连接(JOIN)
    别名
    BETWEEN 操作符
    IN 操作符
    通配符
    LIKE 操作符
    LIMIT 子句
  • 原文地址:https://www.cnblogs.com/nocml/p/5148093.html
Copyright © 2011-2022 走看看