Поскольку набор данных содержит пару ключ-значение, используйте groupBykey и агрегируйте счет.
Если у вас есть набор данных, например [['WH', 10], ['TX', 5], ['WH ', 2], [' IL ', 5], [' TX ', 6]]
Код ниже дает этот вывод - [(' IL ', 5), (' TX ', 11) , ('WH', 12)]
data.groupByKey().map(lambda row: (row[0], sum(row[1]))).collect()
может использовать aggregateByKey с UDF. Для этого метода требуется 3 параметра: начальное местоположение, функция агрегирования внутри раздела и функция агрегации по разделам
Этот код также дает тот же результат, что и выше
def addValues(a,b):
return a+b
data.aggregateByKey(0, addValues, addValues).collect()