假设我有一个RDD加载
lines = sc.textFile('/test.txt')
和RDD就像['apple', 'orange', 'banana']
。然后我想生成RDD [(0, 'apple'), (1, 'orange'), (2, 'banana')]
。
我知道这可以通过indexed_lines = lines.zipWithIndex().map(lambda (x, y): ','.join([str(y), x])).collect()
但是现在我有了另一个RDD new_lines = ['pineapple','blueberry']
,我想union
这两个RDD(indexed_lines和new_lines)来构造[(0, 'apple'), (1, 'orange'), (2, 'banana'), (3, 'pineapple'), (4, 'blueberry')]
,注意到indexed_lines已经存在而且我没有想要更改其中的数据。
我正在尝试zip and union
RDD
index = sc.parallelize(range(3, 5))
new_indexed_lines = new_lines.zip(index)
但它在这个zip
变换中破裂了。
知道为什么它会被打破,以及是否有更聪明的方法来做到这一点?
感谢。
答案 0 :(得分:2)
这样的事情怎么样?
ActivityManager