如何将RDD的元素组合并收集到pyspark中的列表中

时间:2017-07-04 15:50:17

标签: python pyspark spark-dataframe pyspark-sql

我正在使用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行)。

非常感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:4)

我假设NameError: name 'x' is not defined

给了您以下错误 lat_lon = df.rdd.map(lambda x : [x.latitude, x.longitude]).collect()

尝试

myapp:3000