You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Prashant Kommireddi (JIRA)" <ji...@apache.org> on 2015/11/03 21:06:27 UTC

[jira] [Updated] (PIG-4724) GROUP ALL must create an output record in case there is no input

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

Prashant Kommireddi updated PIG-4724:
-------------------------------------
    Description: 
{code}
A = load 'data';

B = filter A by $0 == 'THIS_DOES_NOT_EXIST';

C = group B ALL;

D = foreach C generate group, COUNT(B);
{code}

Even if the filter did not output any rows, since we are grouping on ALL the expected output should probably be (ALL, 0). The implementation generates a pseudo key “all” for every input on map side, thus reduce side we can combine all input together. However, this does not work for 0 input since the reduce side does not get any input. If the input is empty, yield a pseudo “all, 0” to reduce


  was:
{code}
A = load 'data';

B = filter A by $0 == 'THIS_DOES_NOT_EXIST';

C = group A ALL;

D = foreach C generate group, COUNT(B);
{code}

Even if the filter did not output any rows, since we are grouping on ALL the expected output should probably be (ALL, 0). The implementation generates a pseudo key “all” for every input on map side, thus reduce side we can combine all input together. However, this does not work for 0 input since the reduce side does not get any input. If the input is empty, yield a pseudo “all, 0” to reduce



> GROUP ALL must create an output record in case there is no input
> ----------------------------------------------------------------
>
>                 Key: PIG-4724
>                 URL: https://issues.apache.org/jira/browse/PIG-4724
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.15.0
>            Reporter: Prashant Kommireddi
>
> {code}
> A = load 'data';
> B = filter A by $0 == 'THIS_DOES_NOT_EXIST';
> C = group B ALL;
> D = foreach C generate group, COUNT(B);
> {code}
> Even if the filter did not output any rows, since we are grouping on ALL the expected output should probably be (ALL, 0). The implementation generates a pseudo key “all” for every input on map side, thus reduce side we can combine all input together. However, this does not work for 0 input since the reduce side does not get any input. If the input is empty, yield a pseudo “all, 0” to reduce



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