pig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Graham (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PIG-2547) Easier UDFs: Convenient EvalFunc super-classes
Date Fri, 11 May 2012 22:05:48 GMT

     [ https://issues.apache.org/jira/browse/PIG-2547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Bill Graham updated PIG-2547:
-----------------------------

    Attachment: PIG-2547.3.patch

Thanks Daniel, here's a 3rd parch with your comments incorporated. Note that there is a Guava
Function unit test (see IntegerFloatFunction).
                
> Easier UDFs: Convenient EvalFunc super-classes
> ----------------------------------------------
>
>                 Key: PIG-2547
>                 URL: https://issues.apache.org/jira/browse/PIG-2547
>             Project: Pig
>          Issue Type: New Feature
>            Reporter: Bill Graham
>            Assignee: Bill Graham
>             Fix For: 0.11, 0.10.1
>
>         Attachments: PIG-2547.3.patch, PIG_2547.1.patch, PIG_2547.2.patch
>
>
> We've got a few abstract extensions of EvalFunc that make life easier. If people are
interested we can push said classes into Pig.
> There are 3 classes, each extending the next. Class naming is all TBD.
> * {{TypedOutputEvalFunc<OUT>}} - Implements {{public Schema outputSchema(Schema
input)}} based on the generic type of the subclass. Provides common helper validation functions
which increment counters for good and bad Tuple data passed. Useful where the input to be
worked on is a tuple of size N or greater. 
> * {{PrimitiveEvalFunc<IN, OUT>}} - Same as above with helper validation allowing
the ability it subclass and just implement {{public OUT exec(IN input)}}, where IN and OUT
are primitives. Useful when the input is a single primitive in position 0 of a tuple. 
> * {{FunctionWrapperEvalFunc}} - Wraps a Guava Function implementation (http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/base/Function.html)
and allows UDFs to be used in Pig scripts like so, where {{MyFunction}} is a class that implements
{{Function}}:
> {noformat}
> DEFINE myUdf org.apache.pig.FunctionWrapperEvalFunc('MyFunction')
> {noformat}
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message