我試圖把星火字被人算例和集合字被一些其它的值數(例如,詞和計數,其中人是「VI」或「MO 「在下面的情況下)減少單詞的列表,數元組最高聚集鍵
我有一個RDD這是它的值是元組的列表元組的列表:
[(u'VI', [(u'word1', 1), (u'word2', 1), (u'word3', 1)]),
(u'MO',
[(u'word4', 1),
(u'word4', 1),
(u'word5', 1),
(u'word8', 1),
(u'word10', 1),
(u'word1', 1),
(u'word4', 1),
(u'word6', 1),
(u'word9', 1),
...
)]
我想是這樣的:
from operator import add
reduced_tokens = tokenized.reduceByKey(add)
reduced_tokens.take(2)
這給了我:
[
('VI',
[(u'word1', 1), (u'word2', 1), (u'word3', 1)],
('MO',
[(u'word4', 58), (u'word8', 2), (u'word9', 23) ...)
]
到word count example here相似,我希望能夠過濾掉字下面的一些人一些閾值的計數。謝謝!
我的數據結構有點不同,但這有助於我理解如何解決它。我的初始數據看起來像'[Row(key = u'VI',item = u'word1 word2 word3'),...]'並且我創建了一個函數,該函數標記了該項並返回了[[((name,token) ,1)令牌令牌]'。從那裏我用flatMap將函數應用於我的數據以獲得您建議的結構。 – scmz