如何计算pyspark RDD的一个键中的所有值?

时间:2018-05-14 20:20:47

标签: python-3.x pyspark rdd

在pyspark RDD中,'predict_values'是逻辑回归结果的关键。显然,'predict_values'只有0和1。

我想计算输出字段中0和1的数量。

我试试:

Counter(rdd.groupByKey()['predicted_value'])

给出了

TypeError: 'PipelinedRDD' object is not subscriptable

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:2)

您也可以使用countByValue()

sorted(rdd.map(lambda x: x['predicted_value']).countByValue().items())
#[(0, 580), (1, 420)]

答案 1 :(得分:0)

看来这可以通过(使用collection中的Counter类)来完成:

>>> Counter([i['predicted_value'] for i in rdd.collect()]

Counter({0: 580, 1: 420})