You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Nandor Kollar (JIRA)" <ji...@apache.org> on 2016/10/24 19:26:00 UTC

[jira] [Commented] (PIG-5048) HiveUDTF fail if it is the first expression in projection

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

Nandor Kollar commented on PIG-5048:
------------------------------------

It seems that with this trivial modification in UnlimitedNullTuple
{code}
public int size() {
    return -1;
}
{code}
the UDAF gives the (almost) correct result, though I'm afraid this is not the best solution. I say almost, because I also noticed, that there is an extra empty tuple at the end (no idea why), but this is present even when the projection includes both a0 and explode(a0). Also, it would be nice to implement the other methods in this class, [~daijy] if you don't mind, can attach a patch.

> HiveUDTF fail if it is the first expression in projection
> ---------------------------------------------------------
>
>                 Key: PIG-5048
>                 URL: https://issues.apache.org/jira/browse/PIG-5048
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>             Fix For: 0.17.0, 0.16.1
>
>
> The following script fail:
> {code}
> define explode HiveUDTF('explode');
> A = load 'bag.txt' as (a0:{(b0:chararray)});
> B = foreach A generate explode(a0);
> dump B;
> {code}
> Message: Unimplemented at org.apache.pig.data.UnlimitedNullTuple.size(UnlimitedNullTuple.java:31)
> If it is not the first projection, the script pass:
> {code}
> define explode HiveUDTF('explode');
> A = load 'bag.txt' as (a0:{(b0:chararray)});
> B = foreach A generate a0, explode(a0);
> dump B;
> {code}
> Thanks [~nkollar] reporting it!



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