线程“主”中的异常org.apache.spark.sql.AnalysisException:属性名称中的语法错误:i。加入数据框时

时间:2018-07-26 10:12:41

标签: apache-spark-sql

val keys="DESCRIPTION,NAME".split(",")

inc.as('i).join(fil.as('h), keys.map{primarykey =>
   ($"i."+primarykey)===($"h."+primarykey)
}.reduce(_&&_) and   $"h.ACTIVE_FLAG"==="TRUE","leftouter")
.where(keys.map{ primarykey => ($"h."+primarykey).isNull}.reduce(_&&_))
.select("i.*")
.withColumn("PARTITION_BY_ENDDATE",lit("9999-12-31"))

我试图通过动态传递连接列来连接2个数据帧,是否正在获取异常(org.apache.spark.sql.AnalysisException:属性名称中的语法错误:i .;)。但是当我在连接中对列值进行硬编码时,我以相同的方式工作

 (inc.as('i).join(fil.as('h),$"i.NAME"===$"h.NAME" and $"i.DESCRIPTION"===$"h.DESCRIPTION" and $"h.ACTIVE_FLAG"==="TRUE","leftouter").where($"h.DESCRIPTION".isNull and $"h.NAME".isNull).select("i.*").withColumn("PARTITION_BY_ENDDATE",lit("9999-12-31")))) 

谁能帮助我解决同样的问题。预先感谢。

0 个答案:

没有答案