似乎您可以像这样聚合多个列:
Dataset<Row> df = spark.read().textFile(inputFile);
List<Row> result = df.groupBy("id")
.agg(sum(df.col("price")), avg(df.col("weight")))
.collectAsList();
现在,我想编写自己的自定义聚合函数而不是sumor avg。我怎样才能做到这一点?
在星火文档演示了如何创建一个自定义聚合功能。但是那个注册了然后在SQL中使用,我不认为它是否可以在.agg()函数中使用。由于agg接受Column实例并且自定义聚合函数不是其中之一。
冉冉说
相关分类