Как посчитать все значения в одном ключе Pyspark RDD? - PullRequest
0 голосов
/ 14 мая 2018

В RDD в pyspark значение «realted_values ​​»является ключом к результатам логистической регрессии. Очевидно, что «предсказанные значения» содержат только 0 и 1.

Я хочу посчитать количество 0 и 1 в поле вывода.

Я пытаюсь:

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

, что дает

TypeError: 'PipelinedRDD' object is not subscriptable

Каков наилучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Вы также можете использовать countByValue():

sorted(rdd.map(lambda x: x['predicted_value']).countByValue().items())
#[(0, 580), (1, 420)]
0 голосов
/ 14 мая 2018

Похоже, что это можно сделать с помощью (используя класс Counter из collection):

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

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