pyspark и reduByKey: как сделать простую сумму
Я пытаюсь некоторый код в Spark (pyspark) для назначения. В первый раз я использую эту среду, поэтому наверняка что-то упускаю ...
У меня есть простой набор данных с именем c_views.
Если я бегуc_views.collect()
я получил[…] (u'ABC', 100), (u'DEF', 200), (u'XXX', 50), (u'XXX', 70)] […]
Чего мне нужно добиться, так этосумма по всем словам, Так что я думаю, что я должен получить что-то вроде:
(u'ABC', 100), (u'DEF', 200), (u'XXX', 120)
Итак, что я пытаюсь сделать (следуя подсказкам в задании):
сначала я определяю функциюsum_views(a,b)
для входного набора данных, а затем запустите reduByKey, т.е.
c_views.reduceByKey(sum_views).collect()
Однако я не понимаю, что именно я должен кодировать в функции. Я пробую много вещей, но всегда получаю ошибку. Имеет ли смысл рабочий процесс? Другие простые способы достижения результата?
Любое предложение? Спасибо заранее за вашу помощь.