Thanks for your help. I assigned key values from a static variable and when i ran in eclipse platform, i saw the right key values, but after distributed-mode debug, i have seen all my key values are 0.
On 3/25/12, Harsh J <ha...@cloudera.com> wrote: > Harun, > > Does your map task stdout logs show varying values for "partition"? > Seems to me like all your keys are somehow outside of [0, > numOfPartitions), and hence go to the last partition, per your logic. > > 2012/3/25 Harun Raşit ER <harunrasi...@gmail.com>: >> public int getPartition(IntWritable key, Chromosome value, int >> numOfPartitions) >> { >> int partition = key.get(); >> if (partition < 0 || partition >= numOfPartitions) >> { >> partition = numOfPartitions-1; >> } >> System.out.println("partition "+partition ); >> return partition; >> } >> >> I wrote the custom partitioner above. But the problem is about the third >> parameter, numOfPartitions. >> >> It is always "1" in pseudo-distributed mode. I have 4 mappers and 4 >> reducers, but only one of the reducers uses the real values. The others >> yield nothing, just empty files. >> >> When I remove the if statement, hadoop complains about the partition >> number >> as "illegal partition for ...". >> >> How can i set the number of partitions in pseudo-distributed mode? >> >> Thanks. > > > > -- > Harsh J >