You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@datafu.apache.org by "Russell Melick (JIRA)" <ji...@apache.org> on 2015/07/13 18:59:04 UTC

[jira] [Commented] (DATAFU-83) InUDF does not validate that types are compatible

    [ https://issues.apache.org/jira/browse/DATAFU-83?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14624946#comment-14624946 ] 

Russell Melick commented on DATAFU-83:
--------------------------------------

Would it be possible to check that the types match inside the outputSchema method?  That would allow the exception to be thrown at compile time / on the frontend, instead of waiting until the maps and reduces.

> InUDF does not validate that types are compatible
> -------------------------------------------------
>
>                 Key: DATAFU-83
>                 URL: https://issues.apache.org/jira/browse/DATAFU-83
>             Project: DataFu
>          Issue Type: Improvement
>            Reporter: Matthew Hayes
>            Priority: Minor
>         Attachments: DATAFU-83.patch
>
>
> See the example below.  The input data is a long, but ints are provided to match against.  Because it uses the Java equals to compare and these are different types, this will never match, which can lead to confusing results.  I believe it should at least throw an error.
> {code}
>   define I datafu.pig.util.InUDF();
>   
>   data = LOAD 'input' AS (B: bag {T: tuple(v:LONG)});
>   
>   data2 = FOREACH data {
>     C = FILTER B By I(v, 1,2,3);
>     GENERATE C;
>   }
>   
>   describe data2;
>   
>   STORE data2 INTO 'output';
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)