无法将数据写入RDD

2024-04-19 06:03:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在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

Tags: inforwindowsrangecolmathsqrtpyspark
1条回答
网友
1楼 · 发布于 2024-04-19 06:03:37

如错误所示,您不能在RDD上使用索引运算符([])。您需要使用^{}这样的函数来对每一行应用函数。你知道吗

相关问题 更多 >