我正在使用Apache Spark for python并创建了一个名称,纬度,经度作为列名的spark数据帧。
我的RDD数据框格式为:
name latitude longitude
M 1.3 22.5
S 1.6 22.9
H 1.7 23.4
W 1.4 23.3
C 1.1 21.2
... ... ....
我知道只收集我能做的纬度
list_of_lat = df.rdd.map(lambda r: r.latitude).collect()
print list_of_lat
[1.3,1.6,1.7,1.4,1.1,...]
但是,我需要在列表中一起收集纬度和经度值:
[[1.3,22.5],[1.6,22.9],[1.7,23.4]...]
我试过了
lat_lon = df.rdd.map(lambda r,x : r.latitude, x.longitude).collect()
然而这不起作用。
我需要使用spark,因为它是一个非常大的数据集(约1M行)。
非常感谢任何帮助。感谢
答案 0 :(得分:4)
我假设NameError: name 'x' is not defined
给了您以下错误
lat_lon = df.rdd.map(lambda x : [x.latitude, x.longitude]).collect()
尝试
myapp:3000