[ https://issues.apache.org/jira/browse/PIG-2151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dmitriy V. Ryaboy updated PIG-2151: ----------------------------------- Resolution: Fixed Fix Version/s: 0.11 Release Note: An EvalFunc can annotated with an @OutputSchema annotation to tell Pig what the expected output is. This can be used in place of EvalFunc.outputSchema(Schema inpSchema) The default implementation of EvalFunc.outputSchema(Schema inpSchema) will look at this annotation and return an interpreted schema, if the annotation is present. Implementing a custom EvalFunc.outputSchema(Schema inpSchema) will override the annotation (unless you deal with it explicitly, or by calling super.outputSchema(schema)) Here's an example of a complex schema declared in an annotation: @OutputSchema("y:bag{t:tuple(len:int,word:chararray)}") Status: Resolved (was: Patch Available) Committed to trunk. > Add annotation to specify output schema in Java UDFs > ---------------------------------------------------- > > Key: PIG-2151 > URL: https://issues.apache.org/jira/browse/PIG-2151 > Project: Pig > Issue Type: Improvement > Reporter: Dmitriy V. Ryaboy > Assignee: Dmitriy V. Ryaboy > Fix For: 0.11 > > Attachments: PIG-2151.patch > > > In Python udfs, the output schema of an eval func is specified via an > @OutputSchema annotation. > We should do the same for Java udfs instead of making people write the > cumbersome outputSchema functions. > If an annotation exists, it should override an existing outputSchema > implementation (since all evalFuncs will inherit the method from > EvalFunc.java and there is thus no way to *not* have an implementation). -- 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