如何在spark sql环境中执行日期差异?

如何在spark sql环境中执行日期差异?,sql,scala,apache-spark,apache-spark-sql,Sql,Scala,Apache Spark,Apache Spark Sql,我有一个带有创建日期和操作日期的表。我想知道两次约会之间的分钟数。我看了一下文件,发现很难找到解决办法 %sql SELECT datediff(creation_dt, actions_dt) FROM actions limit 10 这给了我两个日期之间的天数。一张唱片看起来像 2019-07-31 23:55:22.0 | 2019-07-31 23:55:21 | 0 如何获取分钟数?如评论中所述,如果您使用的是Spark或Pyspark,则最好使用withColumn方法 但

我有一个带有创建日期和操作日期的表。我想知道两次约会之间的分钟数。我看了一下文件,发现很难找到解决办法

%sql
SELECT datediff(creation_dt, actions_dt)
FROM actions
limit 10
这给了我两个日期之间的天数。一张唱片看起来像

2019-07-31 23:55:22.0  |  2019-07-31 23:55:21 | 0

如何获取分钟数?

如评论中所述,如果您使用的是Spark或Pyspark,则最好使用withColumn方法

但是

如果您使用的是SparkSQL环境,那么可以使用unix_timestamp函数来获取所需的内容

select ((unix_timestamp('2019-09-09','yyyy-MM-dd') - unix_timestamp('2018-09-09','yyyy-MM-dd'))/60);
用列名交换日期,并定义日期模式作为参数

这两个日期都转换为秒,并计算差值。然后我们除以60得到分钟数

525600.0

这个问题已经得到了回答:我不知道使用直接sql的名称,但这种语言还没有回答这个问题。