невозможно записать данные в RDD - PullRequest
0 голосов
/ 30 апреля 2019

Я запускаю pyspark в Windows и реализую алгоритм, который ранее был реализован в python

Я преобразовал список в RDD, но получил ошибку

voxel =[[ ['0' for col in range(100)] for col in range(100)] for row in range(6)] 
delay = sc.parallelize(voxel,4)
locationforant=[[75,15],[100,50],[75,80],[25,80],[0,50],[25,15]]
for a in range(6):
    for x in range(100):
        for y in range(100):
            distance=((math.sqrt((x-locationforant[a][0])**2+(y-locationforant[a][1])**2))/100)*200
            delay[a][x][y] = round(distance)

TypeError                                 Traceback (most recent call last)
<ipython-input-9-b81a67e36764> in <module>()
     21             distance=((math.sqrt((x-locationforant[a][0])**2+(y-locationforant[a][1])**2))/100)*200
     22 #             breakpoint()
---> 23             delay[a][x][y] = round(distance)

TypeError: 'RDD' object does not support indexing

1 Ответ

0 голосов
/ 30 апреля 2019

Как показывает ошибка, вы не можете использовать оператор индекса ([]) на СДР. Вам нужно будет использовать что-то вроде map, чтобы применить функцию к каждой строке.

...