Hi,

Did you actually call those functions directly from your unit tests? I'm 
looking for examples of that working, but all I see reference to are tests to 
make sure the query produces the expected output (rather than directly testing 
the UDAF).

-Aurora

On Mar 11, 2011, at 3:44 PM, Christopher, Pat wrote:

> Awesome, awesome.  That's what I had pieced together from Steve and Ed's 
> emails.  Glad to get confirmation on it.
> 
> Its also what I did for my unit testing.  I also called everything with null 
> arguments to make sure those got handled gracefully.
> 
> Pat
> 
> -----Original Message-----
> From: Aurora Skarra-Gallagher [mailto:aur...@yahoo-inc.com] 
> Sent: Friday, March 11, 2011 3:40 PM
> To: user@hive.apache.org
> Cc: Steven Wong
> Subject: Re: UDAF documentation
> 
> Hadoop: The Definitive Guide has a good section on this. Chapter 12: Hive: 
> User Defined Functions. It has a diagram that shows how things are called and 
> when. The example I'm looking at shows this sequence:
> 
> (first instance)
> init()
> iterate(1)
> iterate(2)
> iterate(3)
> terminatePartial()
> 
> (second instance)
> init()
> iterate(4)
> iterate(2)
> terminatePartial()
> 
> (then)
> init()
> merge(3)
> merge(4)
> terminate()
> 
> The UDAF being described is a max integer function, hence the merge ending up 
> with the highest integer from each instance.
> 
> -Aurora
> 
> On Mar 11, 2011, at 9:54 AM, Christopher, Pat wrote:
> 
>> Ahh, perfect.  The docs don't agree terribly well but the case study is 
>> great.  The context for when merge() gets called was not clear to me.
>> 
>> Thanks guys!
>> 
>> Pat
>> 
>> -----Original Message-----
>> From: Steven Wong [mailto:sw...@netflix.com] 
>> Sent: Thursday, March 10, 2011 6:24 PM
>> To: user@hive.apache.org
>> Cc: Christopher, Pat
>> Subject: RE: UDAF documentation
>> 
>> Take a look at http://wiki.apache.org/hadoop/Hive/GenericUDAFCaseStudy, in 
>> case you haven't found it already.
>> 
>> 
>> -----Original Message-----
>> From: Edward Capriolo [mailto:edlinuxg...@gmail.com] 
>> Sent: Thursday, March 10, 2011 6:18 PM
>> To: user@hive.apache.org
>> Cc: Christopher, Pat
>> Subject: Re: UDAF documentation
>> 
>> On Thu, Mar 10, 2011 at 8:27 PM, Christopher, Pat
>> <patrick.christop...@hp.com> wrote:
>>> Hi Guys,
>>> 
>>> I'm writing a UDAF to run against hive 0.5 or hive 0.7.  The documentation I
>>> can find says to implement UDAFEvaluator and ensure that you implement
>>> init() , aggregate() and evaluate().  However, all of the examples I can
>>> find implement init(), iterate(), merge(), terminatePartial() and
>>> terminate().
>>> 
>>> 
>>> 
>>> What's the difference and where I can find the documentation on how to write
>>> a UDAF?
>>> 
>>> 
>>> 
>>> Thanks,
>>> 
>>> Pat
>> 
>> At time the documentation may lag behind the code. I would checkout
>> the hive source code for the version you are working with and base
>> your work on other already existing UDAF's that are similar.
>> 
>> Edward
>> 
> 

Reply via email to