gpt4 book ai didi

java - Spark (JAVA) - 具有多个聚合的数据框 groupBy?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:32:23 24 4
gpt4 key购买 nike

我正在尝试使用 JAVA 在 Spark 上编写一个 groupBy。在 SQL 中,这看起来像

SELECT id, count(id) as count, max(date) maxdate
FROM table
GROUP BY id;

但是这个查询的 Spark/JAVA 风格等价物是什么?假设变量 table 是一个数据框,以查看与 SQL 查询的关系。我在想类似的东西:

table = table.select(table.col("id"), (table.col("id").count()).as("count"), (table.col("date").max()).as("maxdate")).groupby("id")

这显然是不正确的,因为您不能在列上使用聚合函数,如 .count.max,只能在数据帧上使用。那么这在 Spark JAVA 中是如何完成的呢?

谢谢!

最佳答案

您可以使用 org.apache.spark.sql.functions 执行此操作:

import org.apache.spark.sql.functions;

table.groupBy("id").agg(
functions.count("id").as("count"),
functions.max("date").as("maxdate")
).show();

关于java - Spark (JAVA) - 具有多个聚合的数据框 groupBy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38396244/

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