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 >> >