将密钥拆分到pyspark中的mapreduced文本文件中

时间:2015-04-21 17:40:33

标签: pyspark

我想在map reduce中拆分键并创建一个新的键值对。

当前的doc文件:

[(u'ab,xy,sc,dr , u'doc1)]

我想将每个值拆分为:

[(u'ab,doc1) , (u'xy,doc1) ,(u'sc,doc1) , (u'dr,doc1)]

非常感谢任何帮助! 感谢

1 个答案:

答案 0 :(得分:2)

def process(record):
    for key in record[0].split(','):
        yield key, record[1]

rdd = sc.parallelize([(u'ab,xy,sc,dr', u'doc1')])
rdd.flatMap(process).collect()

将导致

[(u'ab', u'doc1'), (u'xy', u'doc1'), (u'sc', u'doc1'), (u'dr', u'doc1')]