If I'm running only one MapReduce job then IntWritable output is OK but if
I'm running several together and some are Text output, I don't want to have
duplicate MapReduce jobs for different output types, I'm trying to find a
more generic solution...

On Mon, Feb 11, 2013 at 3:18 AM, Michael Segel <michael_se...@hotmail.com>wrote:

> Why not just write out the int as a numeric string?
>
> On Feb 10, 2013, at 1:07 PM, Sandy Ryza <sandy.r...@cloudera.com> wrote:
>
> Hi Amit,
>
> One way to accomplish this would be to create a custom writable
> implementation, TextOrIntWritable, that has fields for both.  It could look
> something like:
>
> class TextOrIntWritable implements Writable {
>   private boolean isText;
>   private Text text;
>   private IntWritable integer;
>
>   void writeFields(DataOutput out) {
>     out.writeBoolean(isText);
>     if (isText) {
>       text.writeFields(out);
>     } else {
>       integer.writeFields(out);
>     }
>   }
>
>   [... readFields method that works in a similar way]
> }
>
> -Sandy
>
> On Sun, Feb 10, 2013 at 4:00 AM, Amit Sela <am...@infolinks.com> wrote:
>
>> Hi all,
>>
>> Has anyone ever used some kind of a "generic output key" for a mapreduce
>> job ?
>>
>> I have a job running multiple tasks and I want them to be able to use
>> both Text and IntWritable as output key classes.
>>
>> Any suggestions ?
>>
>> Thanks,
>>
>> Amit.
>>
>
>
> Michael Segel  <mse...@segel.com> | (m) 312.755.9623****
>
> Segel and Associates****
>
>

Reply via email to