에서 감속기의 수는, 나는 Partitionner 사용할 수 있습니다하둡 내 맵리 듀스 프로그램에서 이클립스
public class TweetPartitionner extends HashPartitioner<Text, IntWritable>{
public int getPartition(Text a_key, IntWritable a_value, int a_nbPartitions) {
if(a_key.toString().startsWith("#"))
return 0;
else
return 1;
}
}
을 그리고 감소 작업의 수를 설정 : job.setNumReduceTasks(2);
을하지만, 나는 다음과 같은 오류가 발생합니다 : java.io.IOException: Illegal partition for #rescinfo (1)
매개 변수 a_nbPartitions
은 1
을 반환합니다.
나는 다른 게시물에 읽은 : 이클립스를 실행 Hadoop: Number of reducer is not equal to what I have set in program
한다는 것은 로컬 작업 러너를 사용하는 것 같다. 만 0 또는 1 감속기를 지원합니다. 둘 이상의 감속기를 사용하도록 설정하려고하면 무시하고 무시합니다.
Cygwin에 설치된 Hadoop 0.20.2에 제가 개발했고 물론 이클립스를 사용합니다. 어떻게해야합니까?
완벽한 주셔서 감사합니다, 그것은 매우 잘 작동합니다! 당신의 연결 느릅 나무 주셔서 감사합니다 매우 정확하고 helpfull입니다! – Apaachee