从RDD添加字段到其他RDD

时间:2017-10-29 15:20:01

标签: python apache-spark pyspark rdd

我使用Pyspark并且必须使用RDD(而不是数据帧)来执行以下操作:

我有两个RDD,rdd1,包含超过100个名称和rdd2的字段,包含一个名为" city"的字段。 rdd1和rdd2具有相同的行数(相同的长度)。

rdd1就像:

Row(name="Jack", age=35, state="California", ...)  
Row(name"Jane", age=29, state="Florida", ...)  
...  

rdd2就像:

Row(city="LA")  
Row(city="Miami")  
...

我希望rdd1成为:

Row(name="Jack", age=35, state="California", ..., city="LA")  
...

我尝试过的所有事情都失败了。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用rdds可用的zip方法。

rdd_zip = rdd1.zip(rdd2) 

#Flatten the rdd
rdd_final = rdd_zip.map(lambda x: tuple(list(x[0]) + [x[1]]))