【发布时间】:2020-05-15 17:57:59
【问题描述】:
我在 spark Df1 和 Df2 中有 2 个数据帧,我将基于一个公共列(即 Id)加入这两个数据帧,然后添加一个额外的列结果并检查 具有或条件的多列,如果任何列数据匹配,则我需要在新列中插入匹配,如果没有条件匹配,则需要在该列中作为“不匹配”传递。我正在写下面的代码。
df1.join(df2,df1("id") === df2("id"))
.withColumn("Result",when(df1("adhar_no") === df2("adhar_no") ||
when(df1("pan_no") === df2("pan_no") ||
when(df1("Voter_id") === df2("Voter_id") ||
when(df1("DL_no") === df2("DL_no"),"Matched"))))
.otherwise("Not Matched"))
但收到以下错误消息。
error: type mismatch;
found : Boolean
required: org.apache.spark.sql.Column
任何人都可以请给我一个提示,我应该如何编写查询以生成所需的输出。
【问题讨论】:
标签: apache-spark apache-spark-sql