У меня есть rdd (String, Int), который сортируется по клавише
val data = Array(("c1",6), ("c2",3),("c3",4))
val rdd = sc.parallelize(data).sortByKey
Теперь я хочу запустить значение для первого ключа с нулем и последующими ключами в качестве суммы предыдущих клавиш.
Например: c1 = 0, c2 = значение c1, c3 = (значение c1 + значение c2), c4 = (c1 +.. + c3 значение) ожидаемый результат:
(c1,0), (c2,6), (c3,9)...
Можно ли это достичь? Я попробовал его с картой, но сумма не сохраняется внутри карты.
var sum = 0 ;
val t = keycount.map{ x => { val temp = sum; sum = sum + x._2 ; (x._1,temp); }}