如何加入两个RDD?



我有两个RDD,如下所示

case class Person (name,age,phno,email)
case class Employee (empid,name,age,phone,email)

rdd1[Person]rdd2[Employee]

我想加入这两个基于电话和电子邮件的rdd,需要获得

RDD[Person,Employee]

有人可以建议如何做到这一点吗?

创建两个数据框。 假设您已经从案例类在 rdd 上强加了模式:

df1 = rdd1.toDF.withColumn("Primary_key_1",concat($"phno",lit("_"),$"email"))
df2 = dd2.df.withColumn("Primary_key_2",concat($"phno",lit("_"),$"email")).drop("phno","email")
rdd = df1.join(df2,$"Primary_key_1"===$"Primary_key_2","left_outer").drop("Primary_key_2","Primary_key_1").rdd

最新更新