You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@pig.apache.org by Spyros Kotoulas <ko...@few.vu.nl> on 2011/01/18 17:58:59 UTC

Projection on the wrong columns, possible bug

Dear All,

There seems to be something strange going on with projections in Pig 0.8, namely I get a projection on the wrong columns. I am using the following test case:

> cat testdata
a	b	c
a	d	e
----
in = LOAD 'testdata' USING PigStorage('\t') AS (S:chararray, P:chararray, O:chararray);
S1 = FILTER in BY P eq 'b';
S2 = FILTER in BY P eq 'd';
Join0 = JOIN S1 BY S, S2 BY S;
Join0P = FOREACH Join0 GENERATE S1::S,S1::O,S2::O;
DUMP Join0;
(a,b,c,a,d,e) ----- correct
DUMP Join0P;
(a,c,c) ------------- wrong, should be: (a,c,e)


Is there something wrong with the above script, or this is a bug?

Regards,
Spyros

Re: Projection on the wrong columns, possible bug

Posted by Daniel Dai <ji...@yahoo-inc.com>.
Thank you for reporting. I checked the latest 0.8 code, the issue is 
fixed. We fixed couple of issues since the release of 0.8. You can get 
those fixes by checking out code from svn and build by yourself:

svn co https://svn.apache.org/repos/asf/pig/branches/branch-0.8

Daniel

Spyros Kotoulas wrote:
> Dear All,
>
> There seems to be something strange going on with projections in Pig 0.8, namely I get a projection on the wrong columns. I am using the following test case:
>
>   
>> cat testdata
>>     
> a	b	c
> a	d	e
> ----
> in = LOAD 'testdata' USING PigStorage('\t') AS (S:chararray, P:chararray, O:chararray);
> S1 = FILTER in BY P eq 'b';
> S2 = FILTER in BY P eq 'd';
> Join0 = JOIN S1 BY S, S2 BY S;
> Join0P = FOREACH Join0 GENERATE S1::S,S1::O,S2::O;
> DUMP Join0;
> (a,b,c,a,d,e) ----- correct
> DUMP Join0P;
> (a,c,c) ------------- wrong, should be: (a,c,e)
>
>
> Is there something wrong with the above script, or this is a bug?
>
> Regards,
> Spyros