Hi guys (hope this is the correct mailing list),

I am writing a custom UDAF in Hive, one of the fields I am trying to merge
is a Timestamp, in the terminatePartial function I have something like:

((TimestampWritable) partialResult[0]).set(dateBuffer.logtime);

I have checked that the correct Timestamp is being written at this point
but when I get to the merge function it is not reading the value written in
the terminatePartial function, instead the Timestamp object it finds is the
same as what is in the current AggregationBuffer.

I am sure everything else is setup correctly because if I convert the
Timestamp column to a long a LongWritable instead of a TimestampWritable
everything works as expected (the merge function picks up the correct value
from the params passed in).

Could this be related to:

https://issues.apache.org/jira/browse/HIVE-4516

I don't have the patch applied in our environment at work and doing so
would be a bit of a pain, just wondered if someone could shed some light on
whether this is the problem as I am very new to all this.

Thanks,
Rouz

Reply via email to