Apache spark Spark数据帧中是否有aggregateByKey函数?

Apache spark Spark数据帧中是否有aggregateByKey函数?,apache-spark,dataframe,rdd,Apache Spark,Dataframe,Rdd,在Spark中,在DataFrameAPI中是否有用于RDD的aggregateByKey方法的等价物 数据帧接口中最常见的聚合操作可以使用agg和已定义的聚合器来完成,例如sum、first、max,等等。如果您希望执行类似于分组和聚合的操作,请使用la SQL,您应该首先查看那些现有的聚合函数 然而,aggregateByKey方法公开了更复杂的逻辑,允许您实现一些复杂的聚合例程。如果您希望这样做,您将希望使用Dataset接口,它与您已经习惯于使用RDD的接口非常相似。具体而言,请查看如何

在Spark中,在DataFrameAPI中是否有用于RDD的aggregateByKey方法的等价物


数据帧接口中最常见的聚合操作可以使用
agg
和已定义的聚合器来完成,例如
sum
first
max
,等等。如果您希望执行类似于
分组和聚合的操作,请使用la SQL,您应该首先查看那些现有的聚合函数

然而,
aggregateByKey
方法公开了更复杂的逻辑,允许您实现一些复杂的聚合例程。如果您希望这样做,您将希望使用Dataset接口,它与您已经习惯于使用RDD的接口非常相似。具体而言,请查看如何创建自定义聚合器:

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

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


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

对于数据帧API,请使用
groupBy