【发布时间】:2020-12-10 20:55:23
【问题描述】:
我需要从 Spark 数据帧中获取最小值并对其进行转换。 目前,我只是获取这个值并使用 DateTime 对其进行转换,但是,我需要它以 unix_timestamp 格式作为结果。那么如何使用 Scala 函数或 Spark 函数将 DateTime 转换为 unix_timestamp?
这是我目前返回 DateTime 的当前代码:
val minHour = new DateTime(df.agg(min($"event_ts"))
.as[Timestamp].collect().head))
.minusDays(5)
.withTimeAtStartOfDay())
我也尝试过使用 Spark 函数,但我无法将时间戳切换为一天中的开始时间(这可以使用 DateTime withTimeAtStartOfDay 函数来实现):
val minHour = new DateTime(df.agg(min($"event_ts").alias("min_ts"))
.select(unix_timestamp(date_sub($"min_ts", 5)))
.as[Long].collect().head)
【问题讨论】:
标签: scala apache-spark apache-spark-sql