Returning custom writables will not work. In most cases the methods
return Object because the types can be many things that do not fall
under a single superclass other then object. like Integer,IntWritable,
Array<IntWritable>, or Map. In your case, a struct corresponds to a
Map.

On Tue, May 29, 2012 at 11:08 AM, kulkarni.swar...@gmail.com
<kulkarni.swar...@gmail.com> wrote:
> If someone can help understand this, I would really appreciate.
>
> On Fri, May 25, 2012 at 3:58 PM, kulkarni.swar...@gmail.com
> <kulkarni.swar...@gmail.com> wrote:
>>
>> I am trying to write a custom ObjectInspector extending the
>> StructObjectInspector and got a little confused about the use of the
>> getStructFieldData method on the inspector. Looking at the definition of the
>> method:
>>
>> public Object getStructFieldData(Object data, StructField fieldRef);
>>
>> I understand that the use of this method is to retrieve the specific given
>> field from the buffer. However, what I don't understand is what is it
>> expected to return. I looked around the tests and related code and mostly
>> stuff returned was either a LazyPrimitive or a LazyNonPrimitive, but I
>> couldn't find anything that enforces this(specially given that the return
>> type is a plain "Object")! Does this mean that I am free to return even my
>> custom object as a return type of this method? If so, what is the guarantee
>> that it will be interpreted correctly down the pipeline?
>>
>> Thanks,
>> --
>> Swarnim
>
>
>
>
> --
> Swarnim

Reply via email to