gpt4 book ai didi

scala - 如何将分组按功能转换为数据框

转载 作者:行者123 更新时间:2023-12-03 14:34:11 26 4
gpt4 key购买 nike

嗨,我是 Scala 和 Spark 的新手。我正在尝试通过 spark sql 分组。当我尝试保存或查看输出时,它会引发以下错误。

value coalesce is not a member of org.apache.spark.sql.RelationalGroupedDataset

这是我的代码。
 val fp = filtertable.select($"_1", $"_2", $"_3",$"_4").groupBy("_1", "_2","_3")
fp.show() // throws error
fp.coalesce(1).write.format("csv").save("file://" + test.toString()) //throws error.

任何帮助将不胜感激。

最佳答案

该问题表明您希望将分组数据以 csv 格式写入文本文件中。如果我的分析是正确的,那么 groupByrdd应该是您想要的解决方案 groupBydataframe需要 aggregation待关注 .所以你必须转换 dataframerdd , 申请 groupBy最后将输出写入 csv文件为

val fp = df.select($"_1", $"_2", $"_3",$"_4")
.rdd
.groupBy(row => (row(0), row(1), row(2))) // similar to groupBy("_1", "_2","_3") on dataframe
.flatMap(kv => kv._2) // taking the grouped data
.map(_.mkString(",")) // making data in csv format

fp.coalesce(1).saveAsTextFile("file://" + test.toString())

我希望答案有帮助

关于scala - 如何将分组按功能转换为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45164380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com