2017-03-19 5 views
-1

私はRDDを持っています。ReduceByKey関数 - Spark Python

[(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')] 

日付を最小にする日付までに縮小したいと思います。出力は次のとおりです。

".reduceByKey(add)"を使用する代わりに、どのように日付を減らすことができますか?事前のおかげで

+1

なぜあなたは 'reduceByKey'を使いたくないですか?ここでは完璧なことのようです。 –

+0

reduceByKeyを使用したいと思いますが、内部に入れなければならないパラメータはわかりません – Jungleman

+0

必要なものは、2つの日付をとり、小さいものを返す関数です。 –

答えて

0
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は、はるかに優れた性能を提供することはありません。