使用pyspark创建自动增量键值

时间:2016-12-15 11:56:31

标签: python hadoop apache-spark pyspark

我的rdd列表如下:

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

如何使用键值创建新的rdd,如:

{0:'a', 1:'b', 2:'c'}

2 个答案:

答案 0 :(得分:2)

这很简单:

>>> 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')]

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

答案 1 :(得分:0)

您可以使用for循环轻松生成它。

lis = ['a','b','c']
dic = {}
for x in range(len(lis)):
   dic[x] = lis[x]

print dic 

在此代码中,我们将列表中的每个项目附加到字典中,并将列表的索引值作为键值。

输出:
< / p>

{0: 'a', 1: 'b', 2: 'c'}