hadoop-mapreduce-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Harsh J <ha...@cloudera.com>
Subject Re: Text Iterable modifying other variable
Date Fri, 16 Mar 2012 07:32:27 GMT
What Brock said.

Also read Eric Sammers' response not too long ago on
http://search-hadoop.com/m/Ok1JT1YABHb1 for some more info.

On Thu, Mar 15, 2012 at 6:00 AM, Brock Noland <brock@cloudera.com> wrote:
> Writable's are reused.  You need to deep copy the "value" into "lastValue".
>
> On Wed, Mar 14, 2012 at 6:49 PM, Steven Willis <swillis@compete.com> wrote:
>> I seem to have made a few typos in the code. This is how it should read:
>>
>> /*****************/
>> public class MyReducer extends Reducer<Text, Text, Text, Text> {
>>    @Override
>>    public void reduce(Text key, Iterable<Text> values, Reducer<Text, Text,
Text, Text>.Context context) throws IOException, InterruptedException {
>>        Text value = new Text();
>>        Text lastValue = new Text();
>>        Iterator<Text> valuesIterator = values.iterator();
>>
>>        while(valuesIterator.hasNext()) {
>>            value = valuesIterator.next();
>>            if(!value.equals(lastValue)){
>>                context.write(key, value);
>>                lastValue = value;
>>            }
>>        }
>>    }
>> }
>> /*****************/
>>
>> My description of the problem stands.
>>
>> -Steven Willis
>
>
>
> --
> Apache MRUnit - Unit testing MapReduce - http://incubator.apache.org/mrunit/



-- 
Harsh J

Mime
View raw message