RDD_Input = [(('377', '80'), ('1', '4')), (('377', '510'), ('1', '5')), (('377', '79'), ('1', '4')), (('377', '791'), ('1', '1')), (('377', '511'), ('1', '4')), (('377', '433'), ('1', '3')), (('377', '687'), ('1', '1')), (('377', '456'), ('1', '1')), (('377', '399'), ('1', '4')), (('377', '96'), ('1', '5')), (('377', '780'), ('1', '1')), (('377', '683'), ('1', '1')), (('377', '403'), ('1', '5')), (('377', '999'), ('1', '4')), (('377', '502'), ('1', '4')), (('377', '435'), ('1', '5')), (('377', '550'), ('1', '5')), (('377', '948'), ('1', '1')), (('377', '393'), ('1', '4')), (('377', '648'), ('1', '4'))]
输入RDD是键值对((movie1, movie2), (rating1, rating2))
。
如何将RDD转换为((movie1, movie2), (rating1, rating2), (rating3, rating4), (rating5, rating6), ...))
?
预期结果示例:(('377', '399'), ('1', '4'), ('1', '4'))
('377', '399')
是关键字,并且基于相同的关键字附加随后的元组索引。
要求是使用纯RDD API。
1条答案
按热度按时间vzgqcmou1#
看起来,你想先
groupByKey
把值放入一个列表,然后只map
。