在单次传递数据时使用pyspark查找最小值/最大值

Aze*_*ter 4 python apache-spark rdd pyspark

我有一个带有大量数字的RDD(来自文件的行长度),我想知道如何通过数据获得单次传递的最小值/最大值.

我知道关于Min和Max函数,但这需要两次传递.

小智 7

试试这个:

>>> from pyspark.statcounter import StatCounter
>>> 
>>> rdd = sc.parallelize([9, -1, 0, 99, 0, -10])
>>> stats = rdd.aggregate(StatCounter(), StatCounter.merge, StatCounter.mergeStats)
>>> stats.minValue, stats.maxValue
(-10.0, 99.0)
Run Code Online (Sandbox Code Playgroud)