【问题标题】:conflicting attributes error in Spark dataframe exceptSpark数据框中的属性冲突错误,除了
【发布时间】: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


    【解决方案1】:

    您使用的代码是否准确?您是否希望按 df2 的字段定义 grpDf2 分组?我在其中看到 df1("id") 。 仍然不会引起任何问题。

    实际的错误是什么?

    什么是输出:

    df1.printSchema
    
    df2.printSchema
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 2017-01-31
      相关资源
      最近更新 更多