如何在调用 groupBy 后取回正常的数据帧



对于简单的grouping操作,返回的类型显然不再是数据帧??

val itemsQtyDf = pkgItemsDf.groupBy($"packageid").withColumn("totalqty",sum("qty"))

但是,我们不能在groupBy后调用数据帧操作 - 因为它是一个GroupedData

Error:(26, 55) value withColumn is not a member of org.apache.spark.sql.GroupedData

那么,如何在分组后找回我的DataFrame呢? 是否有必要改用DataFrame.agg()

仅分组而不使用聚合函数意味着您可能希望改用返回数据帧的distinct()函数。但是你的例子表明你想要sum("qty"),所以只需将你的代码改为这样:

pkgItemsDf.groupBy($"packageid").agg(sum("qty").alias("totalqty"))

相关内容

  • 没有找到相关文章

最新更新