Pyspark: ошибка при уменьшении по ключу; IndexError: строковый индекс вне диапазона - PullRequest
1 голос
/ 29 мая 2019

Ниже мой код для 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

Давно пытался. Может кто-нибудь сообщить мне, что не так?

...