Scala 数据框获取最近 6 个月的最新数据

Scala dataframe get last 6 months latest data

我在数据框中有如下列

+-------------------+
|       timestampCol|
+-------------------+
|2020-11-27 00:00:00|
|2020-11-27 00:00:00|
+-------------------+

我需要根据这个日期过滤数据,我只想获取最近 6 个月的数据,有人可以建议我该怎么做吗?

    dataset.filter(dataset.col("timestampCol").cast("date")
           .gt(add_months(current_date(),-6)));

这将过滤所有早于 6 个月的 timestampCol 值。

根据数据集架构,您可能需要将值转换为日期。 如果它是一个日期,直接将它与 java.sql.Timestamp 实例进行比较。

val someMomentInTime =
  java.sql.Timestamp.valueOf("yyyy-[m]m-[d]d hh:mm:ss")
 
val df: Dataframe = 
  ???

df.filter(col("timestampCol") > someMomentInTime) //Dataframe is Dataset[Row]