ReduceByKey函数-Spark Python

ReduceByKey函数-Spark Python,python,apache-spark,apache-spark-sql,spark-dataframe,Python,Apache Spark,Apache Spark Sql,Spark Dataframe,我得了RDD [(25995522, '2013-03-04 21:55:42.000000'), (25995522, '2013-03-15 03:51:30.000000'), (25995522, '2013-03-07 01:47:45.000000'), (52198733, '2013-03-17 20:54:41.000000'), (52198733, '2013-03-11 02:56:47.000000'), (52198733, '2013-03-13 10:0

我得了RDD

[(25995522, '2013-03-04 21:55:42.000000'),
 (25995522, '2013-03-15 03:51:30.000000'),
 (25995522, '2013-03-07 01:47:45.000000'),
 (52198733, '2013-03-17 20:54:41.000000'),
 (52198733, '2013-03-11 02:56:47.000000'),
 (52198733, '2013-03-13 10:00:04.000000'),
 (52198733, '2013-03-13 23:29:26.000000'),
 (52198733, '2013-03-04 21:44:58.000000'),
 (53967034, '2013-03-13 17:55:40.000000'),
 (53967034, '2013-03-14 04:03:55.000000')]
我想减少他们的日期,其中日期是最低的。输出应为:

[(25995522, '2013-03-04 21:55:42.000000'),
 (52198733, '2013-03-04 21:44:58.000000'),
 (53967034, '2013-03-13 17:55:40.000000')]
我如何通过日期来减少它们,而不是使用“.reduceByKey(add)”?提前谢谢

res = rdd.mapValues(lambda x:datetime.datetime.strptime(x, '%Y-%m-%d %H:%M:%S.%f')).reduceByKey(lambda x, y: min(x, y))
或:


rdd.groupByKey
不会提供更好的性能。

为什么不使用
reduceByKey
?这似乎是一件完美的事情。我想使用reduceByKey,但我不知道应该将哪个参数放在里面。你需要的是一个函数,它接受两个日期并返回较小的日期。我该怎么做?我正处于初级阶段,如果您能帮助我,我将不胜感激。我建议您参考Javadoc,了解核心Java课程。