Ниже мой код для rdd:
temp_var = temp_var.map(lambda x: (x[0], ((x[1][2]*x[1][3])+ x[1][0],x[1] [1]+x[1][2])))
print(temp_var.take(10))
Что дает вывод как:
[(0, (0.001622198104049003, 0.0003244396208098006)), (0, (0.001589754141968023, 0.0003244396208098006)), (0, (0.004704374501742109, 0.0003244396208098006)), (0, (0.08587896987089527, 0.0103468638398669)), (0, (0.1511040100829534, 0.017988572628923026)), (0, (-0.33229466944785196, 0.36921629938650213)), (0, (0.006951662718310904, 0.0013368582150597892)), (0, (-0.01002643661294842, 0.0013368582150597892)), (0, (0.01832857525662582, 0.0012998989543706256)), (0, (0.022748231702761298, 0.0012998989544435028))]
Я пытаюсь уменьшить два столбца rdd, суммируя их следующим образом:
# this lambda is not working
temp_var = temp_var.reduceByKey(lambda w, y: ((w[0] + y[0],w[1]+y[1])))
Но вместо этого он выдает ошибку как:
IndexError: string index out of range
Давно пытался. Может кто-нибудь сообщить мне, что не так?