我想在map reduce中拆分键并创建一个新的键值对。
当前的doc文件:
[(u'ab,xy,sc,dr , u'doc1)]
我想将每个值拆分为:
[(u'ab,doc1) , (u'xy,doc1) ,(u'sc,doc1) , (u'dr,doc1)]
非常感谢任何帮助! 感谢
答案 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')]