package com.mystudy.pxkDazuoye;

import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Partitioner;

public class FirstNamePartitioner extends Partitioner<Text, Text> { @Override public int getPartition(Text key, Text value, int numPartitions) { String firstName = key.toString().toUpperCase(); char firstLetter = firstName.charAt(0); int partitionNumber = (int) (firstLetter - 'A') % numPartitions; // 处理负数分区号的情况 if (partitionNumber < 0) { partitionNumber += numPartitions; } return partitionNumber; } }

Hadoop MapReduce: 解决

原文地址: https://www.cveoy.top/t/topic/oJSi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录