2017-05-09 6 views
0

Ich versuche eine JSON-Datei zu analysieren, die Daten von der Twitter-API enthält. Ich möchte herausfinden, wie oft ein Hashtag oder ein bestimmtes Wort in meinem Datensatz erscheint. Ich kann mit einer Liste der häufigsten Tweets erhalten:pyspark: Anzahl der Tweets mit einem Wort/Hashtag finden

print(df.groupby('text').count().sort(desc('count')).show()) 

So weiß ich zum Beispiel, dass Liverpool ein Wort in den Daten auf jeden Fall ist.

Ich würde einfach gerne finden, wie oft das Wort "Liverpool" in meinem Datensatz erscheint, ist das möglich? Danke

Ich benutze Spark Version 1.6.0.

Spalten werden als

genannt
['_corrupt_record', 'contributors', 'coordinates', 'created_at', 'delete', 
'entities', 'favorite_count', 'favorited', 'filter_level', 'geo', 'id', 
'id_str', 'in_reply_to_screen_name', 'in_reply_to_status_id', 
'in_reply_to_status_id_str', 'in_reply_to_user_id', 'in_reply_to_user_id_str', 
'lang', 'place', 'possibly_sensitive', 'retweet_count', 'retweeted', 
'retweeted_status', 'scopes', 'source', 'text', 'truncated', 'user', 
'withheld_in_countries'] 
+0

Können Sie ein wenig mehr Details geben ? Verwenden Sie Spark 2.0+? Haben Sie die Daten bereits in einem Datenrahmen? Was sind deine Säulen? – flyingmeatball

+0

@flyingmeatball Ja, tut mir leid. Ich benutze Spark Version 1.6.0. Die Spalten sind ['_corrupt_record', 'contributors', 'coordinates', 'created_at', 'löschen', 'entities', 'favorite_count', 'favorited', 'filter_level', 'geo', 'id', 'id_str' 'in_reply_to_screen_name', 'in_reply_to_status_id', 'in_reply_to_status_id_str', 'in_reply_to_user_id', 'in_reply_to_user_id_str', 'lang', 'place', 'möglicherweise_empfindlich', 'retweet_count', 'retweeted', 'retweeted_status', 'bereiche', ' source ',' text ',' abgeschnitten ',' user ',' with_hold_in_countries '] – MelesMeles

Antwort

0

nicht sicher, ob dies in 1.6 funktioniert, I 2.1 verwenden, aber ich würde dies etwas Ähnliches tun:

from pyspark.sql.functions import col 

df.where(col('text').like("%Liverpool%")).count() 
+1

Danke! Ich musste lieber verwenden als lieber, aber du hast mich in die richtige Richtung df.wo (col ('text'). Like ("% Liverpool%")). Count() – MelesMeles

+0

@flyingmeatball vielleicht die Antwort zwicken und das kann als akzeptiert markiert werden? – titipata

+0

Tweaked Kommentar über – flyingmeatball

Verwandte Themen