我的rdd
列表如下:
['a','b','c']
如何使用键值创建新的rdd
,如:
{0:'a', 1:'b', 2:'c'}
答案 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'}