2016-08-31 6 views
-1

Ich versuche, den Beispiel-Tweet zu verarbeiten und die Tweets basierend auf den gefilterten Kriterien zu speichern.Erhalten Sie alle Tweets basierend auf bestimmten Wort und speichern Sie alle Tweets in SINGLE BAG

Zum Beispiel

Probe tweet: -

{"created_time": "18:47:31 ", "text": "RT @Joey7Barton: ..give a word about whether the americans wins a Ryder cup. I mean surely he has slightly more important matters. #fami ...", "user_id": 450990391, "id": 252479809098223616, "created_date": "Sun Sep 30 2012"} 

twitter = LOAD 'Tweet.json' USING JsonLoader('created_time:chararray, text:chararray, user_id:chararray, id:chararray, created_date:chararray'); 
grouped = GROUP twitter BY (text,id); 
filtered =FOREACH grouped { row = FILTER $1 BY (text MATCHES '.*word.*'); GENERATE FLATTEN(row);} 

es wird die kompletten Tweets, die mit dem Wort übereinstimmt.

Aber ich brauche, wie unten die Ausgabe zu erhalten:

(word)(all tweets of contained that word) 

Wie kann ich das erreichen?

Irgendwelche Hilfe.

Mohan.V

Antwort

0

Nach dem Filtrieren des Wortes als ein Feld sagen ‚Muster‘ auf das gefilterte Beziehung und dann die Gruppe von diesem field.That hinzufügen, werden Sie das Wort und eine Tasche von Tweets bekommen.

twitter = LOAD 'Tweet.json' USING JsonLoader('created_time:chararray, text:chararray, user_id:chararray, id:chararray, created_date:chararray'); 
grouped = GROUP twitter BY (text,id); 
filtered = FILTER $1 BY (text MATCHES '.*word.*'); 
newfiltered = FOREACH filtered GENERATE 'word' AS pattern,filtered.text; 
final = GROUP newfiltered BY pattern; 
DUMP final; 
+0

danke für deine antwort inquisitive_mind.i versuche ein anderes scenario.i.e. –

Verwandte Themen