complete query would be something like this : grunt> a = load '/dir1/demo.txt' using PigStorage (' ') as (name:chararray, roll:int ); #Pay special attention to "PigStorage (' ')"..Don't use
comma there grunt> dump a; grunt> b = foreach a generate name; grunt> dump b; Regards, Mohammad Tariq On Thu, Jul 26, 2012 at 12:06 AM, Mohammad Tariq <donta...@gmail.com> wrote: > 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, <yogesh.kuma...@wipro.com> 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 [donta...@gmail.com] >> Sent: Wednesday, July 25, 2012 11:50 PM >> To: user@pig.apache.org >> 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 >> <pablo.daniel.marti...@gmail.com> 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, <yogesh.kuma...@wipro.com> 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. >> >> www.wipro.com