hadoop-pig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Zhang (JIRA)" <j...@apache.org>
Subject [jira] Updated: (PIG-851) Map type used as return type in UDFs not recognized at all times
Date Sat, 20 Jun 2009 13:08:07 GMT

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

Jeff Zhang updated PIG-851:
---------------------------

    Attachment:     (was: patch_815.txt)

> Map type used as return type in UDFs not recognized at all times
> ----------------------------------------------------------------
>
>                 Key: PIG-851
>                 URL: https://issues.apache.org/jira/browse/PIG-851
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: 0.3.0
>            Reporter: Santhosh Srinivasan
>         Attachments: patch_815.txt
>
>
> When an UDF returns a map and the outputSchema method is not overridden, Pig does not
figure out the data type. As a result, the type is set to unknown resulting in run time failure.
An example script and UDF follow
> {code}
> public class mapUDF extends EvalFunc<Map<Object, Object>> {
>     @Override
>     public Map<Object, Object> exec(Tuple input) throws IOException {
>             return new HashMap<Object, Object>();
>     }
> //Note that the outputSchema method is commented out
> /*
>     @Override
>     public Schema outputSchema(Schema input) {
>         try {
>             return new Schema(new Schema.FieldSchema(null, null, DataType.MAP));
>         } catch (FrontendException e) {
>             return null;
>         }
>     }
> */
> {code}
> {code}
> grunt> a = load 'student_tab.data';           
> grunt> b = foreach a generate EXPLODE(1);
> grunt> describe b;
> b: {Unknown}
> grunt> dump b;
> 2009-06-15 17:59:01,776 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher
- Failed!
> 2009-06-15 17:59:01,781 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2080: Foreach
currently does not handle type Unknown
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message