标签:mapred 图片 结果 style word tostring text nbsp writable
设置分区数量 && 编写自定义分区代码
分区(Partition)
分区决定了指定的 Key 进入到哪个 Reduce 中
默认 hash 分区,算法
// 返回的分区号 (key.hashCode() & Integer.MAX_VALUE) % numReduceTasks
设置分区数
job.setNumReduceTasks(3);
在 [MapReduce_1] 运行 Word Count 示例程序 代码基础之上进行以下操作
实现将文本中的数字存放在分区0,数字之外的内容放置到分区1
package hadoop.mr.partition; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Partitioner; /** * MapReduce 自定义分区 */ public class MyPartition extends Partitioner<Text, IntWritable> { /** * 自定义分区将数字放在0号分区,其余放在1号分区 */ @Override public int getPartition(Text key, IntWritable value, int numPartitions) { try { Integer.parseInt(key.toString()); return 0; } catch (Exception e) { return 1; } } }
[MapReduce_8] MapReduce 中的自定义分区实现
标签:mapred 图片 结果 style word tostring text nbsp writable
原文地址:https://www.cnblogs.com/share23/p/9779593.html