无法将数据写入RDD

问题描述 投票:0回答:1

我正在Windows上运行pyspark并实现以前在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
python apache-spark pyspark rdd
1个回答
0
投票

如错误所示,您不能在RDD上使用索引运算符([])。你需要使用类似map的东西来为每一行应用一个函数。

© www.soinside.com 2019 - 2024. All rights reserved.