You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark Scala获取每日use最大值时遭遇select重载方法错误

解决按日期分组取use字段最大值的问题

错误原因

你之前的代码报错,一是select方法不允许混合传入字符串列名(比如"date")和Column对象(比如max($"use")),二是核心问题是没做分组操作——要按日期聚合,必须先对date字段分组,再执行聚合计算。

正确代码(Scala DataFrame API)

import org.apache.spark.sql.functions.max

df.groupBy("date")
  .agg(max($"use").alias("max_use"))
  .show()

代码说明

  • groupBy("date"):按date字段对数据分组,把相同日期的行归为一组
  • agg(max($"use").alias("max_use")):对每个分组执行聚合操作,计算use字段的最大值,并用alias给结果列起一个清晰的名字max_use
  • show():输出结果

预期输出

针对你的测试数据,所有行的date都是2015-01-06,输出会是:

+----------+------------+
|      date|     max_use|
+----------+------------+
|2015-01-06|30065.234225|
+----------+------------+

内容的提问来源于stack exchange,提问作者James_B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:30:59