0
我正在練習apache的火花,我試着做一些計算。雖然,我能夠達到我想要的結果,但在它工作之前,我不得不嘗試兩種不同的方法。過濾RDD計算數據集
我有一個現有的數據集,我創建了RDD。
「RT @NigeriaNewsdesk:Chibok女生被換成了通過@todayng 5名博科哈拉姆指揮官」
我想過濾,並能獲得我從現有數據集的創建RDD以@開頭的話。
usernameFile = sc.parallelize(tweets)
username = usernameFile.flatMap(lambda line: line.split()).filter(lambda x: x.startswith('@')).collect()
print(username)
我有這樣的事情
[u'R', u'T', u' ', u'@', u'N', u'i', u'g', u'e', u'r', u'i', u'a', u'N', u'e', u'w', u's', u'd', u'e', u's', u'k', u':', u' ', u'C', u'h', u'i', u'b', u'o', u'k', u' ', u's', u'c', u'h', u'o', u'o', u'l', u'g', u'i', u'r', u'l', u's', u' ', u'w', u'e', u'r', u'e', u' ', u's', u'w', u'a', u'p', u'p', u'e', u'd', u' ', u'f'
tweets = tweets.split(" ")
usernameFile = sc.parallelize(tweets)
username = usernameFile.flatMap(lambda line: line.split()).filter(lambda x: x.startswith('@')).collect()
print(username)
print("username done")
第二次嘗試的工作精絕,但我的問題是爲什麼我必須在並行化數據集之前將其分開?
我可以在不先做這件事的情況下達到同樣的效果嗎?
tweets = tweets.split(" ")
謝謝。