比方說,我有文件了一堆用逗號分隔的短語:如何計算使用Spark的文檔行中的所有共生元素?
love, new, truck, present
environment, save, trying, stop, destroying
great, environment, save, money, animals, zoo, daughter, fun
impressive, loved, speech, inspiration
Happy Birthday, brother, years, old
save, money, stop, spending
new, haircut, love, check it out
現在我想用星火數共發生元件的數量。因此,我想看看
{
(love, new): 2,
(new, truck): 1,
(love, truck): 1,
(truck, present): 1,
(new, present): 1,
(love, present): 1,
(great, environment): 1,
(environment, save): 2,
(environment, trying): 1,
....
(love, check it out): 1
}
有關如何做到這一點的任何建議?
我目前已經創建了文檔的RDD(我叫它phrase_list_RDD
),我知道我可以使用phrase_list_RDD.flatMap(lambda line: line.split(","))
來解析這個行到元素,但是我很難提出最後一部分來解決我的問題。如果有人有任何建議,我將不勝感激。
的OP使用Apache星火需要的解決方案 - 這似乎不是一個...... –
你是對的。我認爲他們對算法更感興趣 - 但是Spark提供了高級構造,可以簡化解決方案並使其可擴展。如果這是SO上的推薦行爲,我可以刪除我的解決方案。 – radumanolescu
在此解決方案中,生成的同現地圖不會伸縮。此外,它不能被編譯爲按照規模運行的Spark:「getOrElseUpdate」不是您可以在RDD轉換中執行的操作。 – Astral