MapReduce中map,reduce个数

本文介绍Hadoop MapReduce中文件大于128M时如何进行split操作,并解释了reduce任务的工作原理及自定义分区器的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
  }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wending-Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值