Spark python 每个键最重复的值

Spark python most repeated value for each key

我有一个格式为:(日期,城市)的 RDD。而里面的数据是这样的:

day1, city1
day1, city2
day1, city2
day2, city1
[...]

我需要每天获取最多"repeated"个城市,即我需要以下结果:

day1, city2
day2, city1
day3, ...

你能帮我在 Python 中怎么做吗?

我试着像简单的字数统计那样来做:

rdd.map(lambda x: (x[0], [1]. \
map(lambda y:y,1). \
reduceByKey(lambda a,b: a+b). \
takeOrdered(1, lambda s:-1*s[1]))).collect()

但是当然不行...

提前致谢。

这只是修改后的字数:

rdd.map(lambda x: (x, 1)) \
  .reduceByKey(lambda x, y: x + y) \
  .map(lambda ((day, city), count): (day, (city, count))) \
  .reduceByKey(lambda x, y: max(x, y, key=lambda x: x[1]))