To clarify,
it fails for 0.12.1 . I did not try pig versions before that.

Sorry for any confusion.
Regards,
Debabrata Pani

On Sat, Nov 21, 2015 at 9:55 AM, Debabrata Pani <android.p...@gmail.com>
wrote:

> This seems to be a problem with apache pig upto 0.12.1
>
> I tried the script with pig 0.13 and it does not throw any errors
>
> The script evaluated:
>
> a = load 'test1.txt' using PigStorage(',') as 
> (A:chararray,B:chararray,C:chararray);
> b = group a by (A,B);
> c = foreach b {
>      asdf = filter $1 by 1==1;
>      generate COUNT_STAR($1) as TARGET:int;
> };
>
> DESCRIBE c;
> store c into 'output' USING PigStorage(',');
> d = limit c 10;
> describe d;
> e = foreach d generate TARGET;
> DESCRIBE e;
> store e into 'output-e' USING PigStorage(','); -- store command necessary for 
> explain to work
>
>
>
> and instead of running the entire program, I just tried to do an "explain"
> of the script .
> The explain command :
>
> pig -e 'explain -script testpigschema.pig'
>
> EXPLAIN fails in pig upto 0.12.1
> But goes through for  0.13.0
>
> Unfortunately, this does not really solve the problem for you except
> hinting that this may be a bug in apache pig ?
>
> Regards,
> Debabrata Pani
>
> On Mon, Nov 16, 2015 at 9:24 AM, Arvind S <arvind18...@gmail.com> wrote:
>
>> does not seem to be a issue in pig 0.15 .. (tested in local mode only as
>> of
>> now)
>>
>> a = load '/tmp/test/test.txt' using PigStorage(',') as
>> (A:chararray,B:chararray,C:chararray);
>> b = group a by (A,B);
>> c = foreach b {
>> asdf = filter $1 by (1==1);
>> generate COUNT_STAR($1) as TARGET;
>>  };
>> d = limit c 10;
>> e = foreach d generate TARGET;
>> dump e;
>>
>> end output ...
>> (1)
>>
>>
>> *Cheers !!*
>> Arvind
>>
>> On Sat, Nov 14, 2015 at 12:18 AM, Christopher Maier <
>> christopher.ma...@gm.com> wrote:
>>
>> > Hi,
>> >
>> > I haven't received a response on this, has anyone had a chance to
>> > reproduce the error?
>> >
>> > Thanks,
>> > Kit
>> >
>> > From: Christopher Maier
>> > Sent: Tuesday, October 20, 2015 4:02 PM
>> > To: 'user@pig.apache.org' <user@pig.apache.org>
>> > Subject: Schema changes based on subquery
>> >
>> > Hi,
>> >
>> > I am getting the wrong counts from Pig for a certain query. I have
>> > simplified the query to what's below, which shows as a failure instead
>> of a
>> > wrong count.
>> >
>> > Why does the first line of the subquery cause the output schema to
>> revert
>> > to be the same as the input schema? This line should not have any
>> impact on
>> > the output.
>> >
>> > (I've removed some of the extra logging output.)
>> >
>> > pig -version
>> > Apache Pig version 0.12.0 (rexported)
>> > compiled Oct 26 2014, 23:43:04
>> >
>> > Query
>> > grunt> a = load 'test1.txt' using PigStorage(',') as
>> > (A:chararray,B:chararray,C:chararray);
>> > grunt> b = group a by (A,B);
>> > grunt> c = foreach b {
>> > >>     asdf = filter $1 by (1==1);
>> > >>     generate COUNT_STAR($1) as TARGET;
>> > >> };
>> > grunt> d = limit c 10;
>> >
>> > Values
>> > grunt> dump a;
>> > (a,b,c)
>> > grunt> dump b;
>> > ((a,b),{(a,b,c)})
>> > grunt> dump c;
>> > (1)
>> > grunt> dump d;
>> > (1)
>> >
>> > Schema 'describe' at each step looks good
>> > grunt> describe a;
>> > a: {A: chararray,B: chararray,C: chararray}
>> > grunt> describe b;
>> > b: {group: (A: chararray,B: chararray),a: {(A: chararray,B: chararray,C:
>> > chararray)}}
>> > grunt> describe c;
>> > c: {TARGET: long}
>> > grunt> describe d;
>> > d: {TARGET: long}
>> >
>> > Attempted next step fails
>> > grunt> e = foreach d generate TARGET;
>> > <line 8, column 23> Invalid field projection. Projected field [TARGET]
>> > does not exist in schema: A:chararray,B:chararray,C:chararray.
>> >
>> > Progress of real schema through query
>> > grunt> z = foreach a generate FAKE;
>> > <line 8, column 23> Invalid field projection. Projected field [FAKE]
>> does
>> > not exist in schema: A:chararray,B:chararray,C:chararray.
>> > grunt> z = foreach b generate FAKE;
>> > <line 8, column 23> Invalid field projection. Projected field [FAKE]
>> does
>> > not exist in schema:
>> >
>> group:tuple(A:chararray,B:chararray),a:bag{:tuple(A:chararray,B:chararray,C:chararray)}.
>> > grunt> z = foreach c generate FAKE;
>> > <line 8, column 23> Invalid field projection. Projected field [FAKE]
>> does
>> > not exist in schema: TARGET:long.
>> > grunt> z = foreach d generate FAKE;
>> > <line 8, column 23> Invalid field projection. Projected field [FAKE]
>> does
>> > not exist in schema: A:chararray,B:chararray,C:chararray.
>> >
>> > Alternate query shows no error
>> > grunt> c = foreach b {
>> > >> generate COUNT_STAR($1) as TARGET;
>> > >> };
>> > grunt> d = limit c 10;
>> > grunt> e = foreach d generate TARGET;
>> > grunt> dump e;
>> > (1)
>> >
>> > Thanks,
>> > Kit Maier
>> >
>> >
>> >
>> > Nothing in this message is intended to constitute an electronic
>> signature
>> > unless a specific statement to the contrary is included in this message.
>> >
>> > Confidentiality Note: This message is intended only for the person or
>> > entity to which it is addressed. It may contain confidential and/or
>> > privileged material. Any review, transmission, dissemination or other
>> use,
>> > or taking of any action in reliance upon this message by persons or
>> > entities other than the intended recipient is prohibited and may be
>> > unlawful. If you received this message in error, please contact the
>> sender
>> > and delete it from your computer.
>> >
>>
>
>

Reply via email to