我有列表的rdd:

['a','b','c']

如何使用键值创建新的rdd,例如:
{0:'a', 1:'b', 2:'c'}

最佳答案

这很简单:

>>> data = ['a', 'b', 'c']
>>> distData = sc.parallelize(data)
>>> distData.collect()
['a', 'b', 'c']

>>> distData = distData.zipWithIndex()
>>> distData.collect()
[('a', 0), ('b', 1), ('c', 2)]

>>> distData = distData.map(lambda (x, y): (y,x))
[(0, 'a'), (1, 'b'), (2, 'c')]

如果希望索引作为键,则需要映射以交换键值。

关于python - 使用pyspark创建自动递增键值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41163604/

10-11 04:50