Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Pig, mail # user - foreach in PIG is not working.


Copy link to this message
-
Re: foreach in PIG is not working.
Mohammad Tariq 2012-07-25, 18:36
Don't use (',')...By default, LOAD looks for our data in a
tab-delimited file using the default LOAD function i.e PigStorage. But
the data in your file is "space separated" and not tab-separated. So
you need to tell Pig in what manner  you want to load your file. See
the command properly which I have shown in the previous mail.
A=load '/HADOOP/Yogesh/demo.txt' using PigStorage ('  ') as
(name:chararray, roll:int)

Pay attention to "PigStorage ('  ')"..I haven't used comma there. Use
it..It should work.

Regards,
    Mohammad Tariq
On Thu, Jul 26, 2012 at 12:01 AM,  <[EMAIL PROTECTED]> wrote:
> Thanks All :-)
>
> yes the file I have uploaded was text file having format
> (Yogesh 12)
> (Aashi 13)
> (Mohit 14)
>
>
> I used command
>
>  A = load '/Yogesh/demo.txt' using PigStorage(',')
>>> as (name:chararray, roll:int);
>
> and then Dump A;
>
> The result is
>
> (Yogesh 12,)
> (Aashi 13,)
> (Mohit 14,)
>
> it should be
>
> (Yogesh, 12)
> (Aashi , 13)
> (Mohit, 14)
>
> Whats I am missing here :-( ?
>
> Regards
> Yogesh Kumar
>
> ________________________________________
> From: Mohammad Tariq [[EMAIL PROTECTED]]
> Sent: Wednesday, July 25, 2012 11:50 PM
> To: [EMAIL PROTECTED]
> Subject: Re: foreach in PIG is not working.
>
> try this :
> A=load '/HADOOP/Yogesh/demo.txt' using PigStorage (' ') as
> (name:chararray, roll:int)
>
> Regards,
>     Mohammad Tariq
>
>
> On Wed, Jul 25, 2012 at 11:47 PM, pablomar
> <[EMAIL PROTECTED]> wrote:
>> are the commas in your file in the write places ?
>> your DUMP A shows
>> (Yogesh 12,)
>> (Aashi 13,)
>> (mohit 14,)
>>
>> comma after the number. It makes me believe that it is taking both fields
>> as name, so when you do the foreach, it keeps the whole thing
>>
>> I mean, is your file (wrong)
>> Yogesh 12,
>> Aashi 13,
>> mohit 14,
>>
>> or (good, for this case)
>> Yogesh, 12
>> Aashi, 13
>> mohit, 14
>>
>>
>> On Wed, Jul 25, 2012 at 2:06 PM, <[EMAIL PROTECTED]> wrote:
>>
>>> Hi all,
>>>
>>> I loaded a file to pig by command from HDFS.
>>>
>>> A=load '/HADOOP/Yogesh/demo.txt'
>>> as (name:chararray, roll:int);
>>>
>>> its get loaded and when i do
>>>
>>> dump A:
>>>
>>> it shows
>>>
>>> (Yogesh 12,)
>>> (Aashi 13,)
>>> (mohit 14,)
>>>
>>> Now i run another query
>>>
>>> B= foreach A generate name;
>>>
>>> to get result only names from A.
>>>
>>> but dump B; hows the same result as of    dump A; i.e
>>>
>>> (Yogesh 12,)
>>> (Aashi 13,)
>>> (mohit 14,)
>>>
>>>
>>> Please help and suggest.
>>>
>>> Thanks & Regards
>>> Yogesh Kumar
>>>
>>> Please do not print this email unless it is absolutely necessary.
>>>
>>> The information contained in this electronic message and any attachments
>>> to this message are intended for the exclusive use of the addressee(s) and
>>> may contain proprietary, confidential or privileged information. If you are
>>> not the intended recipient, you should not disseminate, distribute or copy
>>> this e-mail. Please notify the sender immediately and destroy all copies of
>>> this message and any attachments.
>>>
>>> WARNING: Computer viruses can be transmitted via email. The recipient
>>> should check this email and any attachments for the presence of viruses.
>>> The company accepts no liability for any damage caused by any virus
>>> transmitted by this email.
>>>
>>> www.wipro.com
>>>
>
> Please do not print this email unless it is absolutely necessary.
>
> The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments.
>
> WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email.