在RDD中设置密钥

时间:2016-05-19 09:33:21

标签: key pyspark rdd

我有一个列表的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))

在这种情况下,如何设置不同且唯一的键?

1 个答案:

答案 0 :(得分:2)

您可以zipWithIndex

from operator import itemgetter

rdd.zipWithIndex().map(itemgetter(1, 0))

zipWithUniqueId

rdd.zipWithUniqueId().map(itemgetter(1, 0))

前者需要采取额外行动,但这是确定性的。