在 RDD 中设置一个键
Set a key in 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))
在这种情况下,如何设置 不同且唯一的 键?
你可以zipWithIndex
:
from operator import itemgetter
rdd.zipWithIndex().map(itemgetter(1, 0))
或zipWithUniqueId
:
rdd.zipWithUniqueId().map(itemgetter(1, 0))
前一个需要额外的操作,但它是确定性的。
我有一个列表 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))
在这种情况下,如何设置 不同且唯一的 键?
你可以zipWithIndex
:
from operator import itemgetter
rdd.zipWithIndex().map(itemgetter(1, 0))
或zipWithUniqueId
:
rdd.zipWithUniqueId().map(itemgetter(1, 0))
前一个需要额外的操作,但它是确定性的。