假设我有一个数据框,其中存在Timestamp列。
Timestamp
2016-04-19T17:13:17
2016-04-20T11:31:31
2016-04-20T18:44:31
2016-04-20T14:44:01
我必须检查Scala当前timsetamp是否大于Timestamp + 1
(即添加1天)列
答案 0 :(得分:1)
DataFrame在日期和时间戳
上支持两种类型的current_
让我们考虑一个带有id和event_date列的DataFrame df。
我们可以执行以下过滤操作:
import sqlContext.implicits._
import org.apache.spark.sql.functions._
// the event_date is before the current timestamp
df.filter('event_date.lt(current_timestamp()))
// the event_date is after the current timestamp
df.filter('event_date.gt(current_timestamp()))
我建议您阅读相关的scala文档以获取更多信息here。您有关于日期和时间戳操作的整个部分。
编辑:正如评论中所述,为了在event_date
列中添加一天,您可以使用date_add
功能:
df.filter(date_add('event_date,1).lt(current_timestamp()))
答案 1 :(得分:0)
你可以这样做。
df.filter(date_add('column_name', 1).lt(current_timestamp()))