[ https://issues.apache.org/jira/browse/PIG-3082?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13556686#comment-13556686 ]
Julien Le Dem commented on PIG-3082: ------------------------------------ Thanks for fixing Jon! I find the error message a little confusing: {noformat} throw new FrontendException("Given UDF returns an improper Schema. Should only return Tuple, Bag, or a single item. Returns: " + udfSchema); {noformat} It should contain something along the lines of "... outputSchema should return a Schema containing a single Field ...". Otherwise, it looks good to me. Thanks > outputSchema of a UDF allows two usages when describing a Tuple schema > ---------------------------------------------------------------------- > > Key: PIG-3082 > URL: https://issues.apache.org/jira/browse/PIG-3082 > Project: Pig > Issue Type: Bug > Reporter: Julien Le Dem > Assignee: Jonathan Coveney > Fix For: 0.12 > > Attachments: PIG-3082-0.patch > > > When defining an evalfunc that returns a Tuple there are two ways you can > implement outputSchema(). > - The right way: return a schema that contains one Field that contains the > type and schema of the return type of the UDF > - The unreliable way: return a schema that contains more than one field and > it will be understood as a tuple schema even though there is no type (which > is in Field class) to specify that. This is particularly deceitful when the > output schema is derived from the input schema and the outputted Tuple > sometimes contain only one field. In such cases Pig understands the output > schema as a tuple only if there is more than one field. And sometimes it > works, sometimes it does not. > We should at least issue a warning (backward compatibility) if not plain > throw an exception when the output schema contains more than one Field. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira