Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Pig Script Error

Pig Script Error

New Contributor

I am new to pig.trying filter the text file and store it in hbase

here is the sample input file

sample.txt

 

 

{"pattern":"google_1473491793_265244074740","tweets":[{"tweet::created_at":"18:47:31 ","tweet::id":"252479809098223616","tweet::user_id":"450990391","tweet::text":"rt @joey7barton: ..give a google about whether the americans wins a ryder cup. i mean surely he has slightly more important matters. #fami ..."}]}
{"pattern":"facebook_1473491793_265244074740","tweets":[{"tweet::created_at":"11:33:16 ","tweet::id":"252370526411051008","tweet::user_id":"845912316","tweet::text":"@maarionymcmb facebook mere ta dit tu va resté chez toi dnc tu restes !"}]}

Script:-

 

 

 

data = load 'sample.txt' using JsonLoader('pattern:chararray, tweets: bag {t1:tuple(tweet::created_at: chararray,tweet::id: chararray,tweet::user_id: chararray,tweet::text: chararray)}');
A = FILTER data BY pattern == 'google_*';
grouped = foreach (group A by pattern){tweets1 = foreach data generate tweets.(created_at),tweets.(id),tweets.(user_id),tweets.(text); generate group as pattern1,tweets1;}

But i got the error when run grouped

 

 

2016-09-10 13:38:52,995 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: Pig script failed to parse: <line 41, column 57> expression is not a project expression: (Name: ScalarExpression) Type: null Uid: null)

 

Please correct me what i am doung wrong.

thank you

1 REPLY 1
Highlighted

Re: Pig Script Error

Champion
tweets1 = foreach data generate tweets.(t1.created_at),tweets.(t1.id),tweets.(t1.user_id),tweets.(t1.text);
 generate group as pattern1,tweets1;

}

 Please try the above the script let me know if you got any error . 

 you are missing the project expression: (Name: ScalarExpression)  in this case t1 your tuple in the bag.