Scala:要检查当前的Timstamp是否大于数据框

时间:2016-05-02 06:15:29

标签: scala apache-spark

假设我有一个数据框,其中存在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天)列

2 个答案:

答案 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()))