我的RDD看起来像这样:
[...('marseilles_2', 'SEP', '23'),
('marseilles_2', 'OCT', '28'),
('marseilles_2', 'NOV', '24'),
('marseilles_2', 'DEC', '26'),
('nantes', 'JAN', '16'),
('nantes', 'FEB', '15'),
('nantes', 'MAR', '20'),
('nantes', 'APR', '12'),
('nantes', 'MAY', '21'),
('nantes', 'JUN', '28'),
('nantes', 'JUL', '19'),
('nantes', 'AUG', '11'),
('nantes', 'SEP', '13'),
('nantes', 'OCT', '14'),
('nantes', 'NOV', '14'),
('nantes', 'DEC', '24'),
('nice', 'JAN', '16'),
('nice', 'FEB', '15'),
('nice', 'MAR', '20')...]
我需要计算第三列的平均值。所以我创建了另一个RDD,第一列作为键,第三列作为值,如下所示:
cityAndRevenue = filesRDD.map(lambda kv: (kv[0], kv[2]))
然后我尝试按键对RDD进行分组:
from operator import add
cityAndRevenue.reduceByKey(add)
但是当我收集它时,它不起作用..就像我从未调用过reduceByKey()
。
有什么想法吗?