首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Spark DataFrame中有没有aggregateByKey函数?

Spark DataFrame中有没有aggregateByKey函数?
EN

Stack Overflow用户
提问于 2019-05-28 05:12:49
回答 1查看 666关注 0票数 -1

在Spark中,在DataFrame应用程序接口中是否有可用于RDD的aggregateByKey方法的等价物?

RDD aggregateByKey API doc

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-28 06:10:03

DataFrame接口中的大多数常见聚合操作都可以使用agg和已经定义的聚合器(例如sumfirstmax等)来完成。如果你想做一些像GROUP BY和聚合之类的事情,你应该首先查看那些现有的聚合函数。

但是,aggregateByKey方法公开了更复杂的逻辑,这允许您实现一些复杂的聚合例程。如果您希望这样做,您将希望使用Dataset接口,该接口与您已经习惯于使用RDDs的接口非常相似。具体地说,研究一下创建自定义聚合器:

https://docs.databricks.com/spark/latest/spark-sql/udaf-scala.html

在这里,您将定义诸如initializemerge等聚合器方法,这些方法指定如何创建聚合器、如何将单个元素合并到聚合器中以及如何跨执行器/任务将中间聚合器组合在一起。

一旦定义了聚合器,您就可以在数据集上使用它,例如

ds.groupBy(_.myKey).agg(myCustomAggregator)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56332507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档