在 Spark Scala 中获取具有最大日期的单行

Nat*_*H06 -1 scala apache-spark

我不敢相信我必须问这个,但我搜索的所有答案都是基于对其他值和聚合的分组。我有一个单列 Dataframe,它只是 Spark 日期类型的日期。我想要最近的日期并将其带回给驱动程序。

------------
|  MyDate  |
------------
|2020-10-01|
|2020-10-02|
|2020-10-02|
------------
Run Code Online (Sandbox Code Playgroud)

我试过了: df.groupBy("MyDate").agg(max("MyDate") as "max_date")

但这只是将数据复制到第二列中。

我知道这很愚蠢,但我找不到答案。

Bor*_*nov 5

只需使用selectmax功能就像平常SQL

import org.apache.spark.sql.functions._
import spark.implicits._

Seq(
  "2020-10-01",
  "2020-10-06",
  "2020-10-03"
).toDF("date")
  .select(max(col("date")).name("max_date"))
  .show()

/*
+----------+
|  max_date|
+----------+
|2020-10-06|
+----------+
*/
Run Code Online (Sandbox Code Playgroud)