我有一个列表的RDD或像这样的np.arrays:
[([1,0,0])
([0,1,0])
([0,0,1])]
是否可以为此RDD中的每一行设置不同的键?数字是最好的例子:
[(0, [1,0,0])
(1, [0,1,0])
(2, [0,0,1])]
我的第一次尝试是:
rdd1 = rdd.map(lambda line: (key, line))
在这种情况下,如何设置不同且唯一的键?
答案 0 :(得分:2)
您可以zipWithIndex
:
from operator import itemgetter
rdd.zipWithIndex().map(itemgetter(1, 0))
或zipWithUniqueId
:
rdd.zipWithUniqueId().map(itemgetter(1, 0))
前者需要采取额外行动,但这是确定性的。