【发布时间】:2020-03-03 08:44:43
【问题描述】:
我正在尝试获取列中的最大值,并编写了以下代码。
val max = df.withColumn("max", lit(df.agg(max($"id")).as[Int].first))
不幸的是,当我运行它时,我收到以下错误:
error: recursive value max needs type
val max = df.withColumn("max", lit(df.agg(max($"id")).as[Int].first))
我真的不明白错误告诉我什么,我找不到有关此功能的任何好的文档。我写错了吗?或者也许有更好的方法来做到这一点?我一直在尝试获得具体的例子,但似乎没有什么对我有用。
【问题讨论】:
-
这能回答你的问题吗? Recursive value xxx needs type in Scala
-
你为什么使用
withColumn? -
@Lamanus 我想最终将值添加到新列中
-
@AMC 虽然这不能回答我的具体问题,但它确实表明我使用的是 Scala Max 函数而不是 Apache Spark Max 函数,正如接受的答案中所指出的那样下面。
标签: apache-spark apache-spark-sql