2017-03-13 1 views
0

Ich habe 2 csv-Dateien in zwei Funken RDDs geladen, eine mit Ländercodes und eine zweite mit Tweet-Daten. Ich versuche Folgendes zu finden:Wie zwei rdds in Spark zu vergleichen?

  1. Wie viele verschiedene Länder werden in den Tweets erwähnt?
  2. berechnen Sie die Gesamtzahl, wie oft ein Land erwähnt wird.

Code:

country_lines = sc.textFile('country-data.csv') 
words = country_lines.flatMap(lambda country_lines: country_lines.split(")") 
country_tuples = words.map(lambda word : (word, 1)) 
countryDF = sqlContext.createDataFrame(country_tuples, ["country" , "code"]) 

tweets = sc.textFile("tweet_data.csv") 

ich finden bin versucht, wie viel Zeit jedes Land in der CountryDF in der Tweets csv auftritt (es gibt nur Spalte mit dem Tweet Text).

country_DF sieht wie folgt aus:

Afghanistan AFG 
Albania ALB 
Algeria ALG 
American Samoa ASA 
Andorra AND 

Wie zähle ich das Auftreten eines jeden Landes in den Tweets pyspark RDD mit Python?

Antwort

0

Sie können tweetDF gruppieren, um die Anzahl der einzelnen Länder in tweet.csv zu ermitteln, und dann mit countryDF verbinden, um die Anzahl zu ermitteln.

df = tweetDF.groupby("CountryName").count().join(countryDF,["CountryName"])