MapReduce中map,reduce个数

1.文件大于128M,则split成两个.举例如果两个文件,一个文件150M,一个文件30M,先对30M的文件split,因为小于128M,则只有一个map,再对150Msplit,大于128M,split成2map.
2.reduce个数默认是一个,可以进行指定,指定后根据数据的key把数据分到不同的reduce上。
例如hadoop jar hadoop-examples.jar wordcount -Dmapred.reduce.tasks=2 /user/hadoop/ /user/hadoop/out

public class HashPartitioner<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;
  }

}

你可能感兴趣的:(hadoop)