2016-12-15 71 views
0

rdd与像列表:创建自动递增键值与pyspark

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

如何与像键值创建新rdd

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

所有你想要的是刚刚获得'{0: 'A',1: 'B',2: 'C'}'从该列表? – ettanany

+1

我投票结束这个问题作为题外话题,因为它的质量很低,根本没有任何努力。 – gsamaras

回答

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

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

+0

非常感谢你:) – GinVlad

0

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

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

print dic 

在这段代码中,我们追加每个项目的清单,清单作为关键值的索引值字典。

输出:

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

谢谢,但我想用pyspark做。 – GinVlad