我有一个RDD键/值对,其中value是这样的列表: 我的RDD就像这样
[("a1",["w1","w2","w3","w1"]), ("a2",["w3","w3","w3","w1"]), ....
我如何才能将函数集应用于list元素以删除重复项?
到目前为止,我有这个但没有得到正确的结果:
uniqueTokens = RDD.map(lambda x: (x[0],set(x[1])))
感谢您的帮助!
答案 0 :(得分:2)
rdd array(1) {
[0]=> array(2) {
["COUNT(*)"]=> string(1) "0"
[0]=> string(1) "0"
}
}
中每个列表的唯一项目,例如:[("a1",["w1","w2","w3","w1"]), ("a2",["w3","w3","w3","w1"]), ....
。您可以在(w1, w2, w3, w3, w1,...)
中使用set()
:
flatMap()
希望这有帮助
答案 1 :(得分:0)
In [48]: lt
Out[48]: [('a1', ['w1', 'w2', 'w3', 'w1']), ('a2', ['w3', 'w3', 'w3', 'w1'])]
In [49]: [(x,set(y)) for (x,y) in lt]
Out[49]: [('a1', {'w1', 'w2', 'w3'}), ('a2', {'w1', 'w3'})]