pySpark .reduceByKey(min)/ max奇怪的行为

时间:2015-04-27 16:32:59

标签: apache-spark pyspark

我有以下功能:

minTotal = numRDD.reduceByKey(min).collect()
maxTotal = numRDD.reduceByKey(max).collect()

来自我的数据集的一个奇怪的例子:

(18, [u'300.0', u'1000.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'1000.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0', u'300.0']

min报告为:1000 和Max为300

对我来说很奇怪我的所有其他键/值都正确报告,除了这个。不确定这里发生了什么。

1 个答案:

答案 0 :(得分:1)

忘了他们是unicode,他们将评估为字符串而不是数字形式。所以你需要转换为float来获得正确的答案。