我有两个RDD如下
PrintWriter
case class Person (name,age,phno,email)
case class Employee (empid,name,age,phone,email)
和rdd1[Person]
我想通过电话和电子邮件加入这两个rdd,需要获得
rdd2[Employee]
有人可以建议如何做吗?
答案 0 :(得分:-1)
创建两个数据框。 假设您已从案例类对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