gpt4 book ai didi

apache-spark - Apache Spark 从时间戳列中减去天数

转载 作者:行者123 更新时间:2023-12-01 13:32:11 27 4
gpt4 key购买 nike

我正在使用 Spark 数据集并且无法从时间戳列中减去天数。

我想从时间戳列中减去天数并获得具有完整日期时间格式的新列。例子:

2017-09-22 13:17:39.900 - 10 ----> 2017-09-12 13:17:39.900

使用 date_sub 函数,我得到 2017-09-12 没有 13:17:39.900。

最佳答案

cast数据到 timestampexpr减去 INTERVAL :

import org.apache.spark.sql.functions.expr

val df = Seq("2017-09-22 13:17:39.900").toDF("timestamp")

df.withColumn(
"10_days_before",
$"timestamp".cast("timestamp") - expr("INTERVAL 10 DAYS")).show(false)

+-----------------------+---------------------+
|timestamp |10_days_before |
+-----------------------+---------------------+
|2017-09-22 13:17:39.900|2017-09-12 13:17:39.9|
+-----------------------+---------------------+

如果数据已经是 TimestampType您可以跳过 cast .

关于apache-spark - Apache Spark 从时间戳列中减去天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46365822/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com