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
>

Reply via email to