【发布时间】:2017-02-09 14:10:57
【问题描述】:
在加入一些按 id、月份和年份分区的表后,我构建了 2 个数据帧 df1 和 df2。由于连接中使用的日期范围过滤器,这两个数据框具有不同的数据。
grpDf1 = df1.groupBy(df1("id"), df1("orderId"), df1("userid"), df1("name"))
.agg(min(df1("dateId")).as("dateId"), min(df1("month")).as("month"), min(df1("year")).as("year"),sum("quantity").as("quantity"),sum("amount").as("amount"))
grpDf2 = df2.groupBy(df1("id"), df2("orderId"), df2("userid"), df2("name"))
.agg(min(df2("dateId")).as("dateId"), min(df2("month")).as("month"), min(df2("year")).as("year"),sum("quantity").as("quantity"),sum("amount").as("amount"))
当我尝试做grpDf2.except(grpDf1)
我收到一个错误冲突属性:id#8,orderId#5,userid#6,name#7
但是当我合并grpDf2.union(grpDf1)时,没有错误。
感谢任何帮助。提前致谢。
【问题讨论】:
标签: scala apache-spark dataframe spark-dataframe except