hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Teppo Kurki (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HADOOP-115) Hadoop should allow the user to use SequentialFileOutputformat as the output format and to choose key/value classes that are different from those for map output.
Date Thu, 20 Apr 2006 17:04:06 GMT
     [ http://issues.apache.org/jira/browse/HADOOP-115?page=all ]

Teppo Kurki updated HADOOP-115:
-------------------------------

    Attachment: hadoop-115_ReduceTask.patch

Patch including

TestReduceTask
- generates a bunch of SequenceFiles and reduces them by running a single ReduceTask
- two test methods, one where input is just copied to output and one where the Reducer swaps
keys and values
- Reducer checks that all generated key-value pairs are reduced by key
- checks that the resulting output file contains what it's supposed to

JobConf
- the necessary set/getMapOutputKey/ValueClass methods
- getOutputComparator uses MapKeyClass if one is specified

ReduceTask
- append and sort phases get the classes from getMapOutput.. methods

This should take care of the Reduce part of the problem. MapTask should be also adjusted accordingly,
but since I haven'twritten  a test for that I haven't done it yet.

Owen, I didn't get your comment on handling the combiners - doesn't the combiner just use
the map OutputCollector underneath and as you put it 

map: k1,v1 -> seq(k2,v2)
combine: k2,seq(v2) -> seq(k2,v2) 

the outputs are exactly the same, even if the combiner is technically a Reducer?







> Hadoop should allow the user to use SequentialFileOutputformat as the output format and
to choose  key/value classes that are different from those for map output.
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: HADOOP-115
>          URL: http://issues.apache.org/jira/browse/HADOOP-115
>      Project: Hadoop
>         Type: Improvement

>   Components: mapred
>     Reporter: Runping Qi
>  Attachments: hadoop-115_ReduceTask.patch, hadoop-115_tk.patch
>
> When map tasks write intermediate data out, they always use SequencialFile RecordWriter
with key/value classes from the job object.
> When the reducers write the final results out, its output format is obtained from the
job object. By default, it is TextOutputFormat, and no conflicts.
> However, if one wants to use SequencialFileFormat for the final results, then the key/value
classes are also obtained from the job object, the same as the map tasks' output. Now we have
a problem. It is impossible for the map outputs and reducer outputs use different key/value
classes, if one wants the reducers generate outputs in SequentialFileFormat.
> A simple fix would be to add another two attributes to JobConf class: mapOutputLeyClass
and mapOutputValueClass. That allows the user to have different key/value classes for the
intermediate and final outputs.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message