You could do this through a UDTF. http://wiki.apache.org/hadoop/Hive/DeveloperGuide/UDTF
Ashish -----Original Message----- From: Mark Tozzi [mailto:[email protected]] Sent: Monday, July 19, 2010 1:27 PM To: Hive User List Subject: UDF Return type best practice question Hi All, I've been working with UDFs in hive a lot lately, usually to implement some manner of small lookup which isn't worth the overhead of a join, or which for some other reason is preferable as a function as a join. This gets me into situations where I end up wanting one UDF to have multiple return types - for example something like a geo IP look-up would return an integer for an area code look-up or a string for a country name look-up. It seems the two ways to handle this are to either write a different UDF for each return type, or potentially each look-up, or to always return a String and use the hive built in cast function "cast(expr as <type>)" on the return value. So far I've been favoring the second as the first seems to lead to a proliferation of nearly identical classes, but I'm wondering if someone with more experience in this might have a suggestion as why one might be better than the other, or indeed if there is a third solution that I have overlooked. Thanks, --Mark Tozzi
