我试图把星火字被人算例和集合字被一些其它的值数(例如,词和计数,其中人是“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