首页 > 解决方案 > 在 apache spark 中使用 current_timestamp 获取正确的时区偏移量

问题描述

我是 Java 和 Apache spark 的新手,并试图了解时间戳和时区的使用。我希望从我从 apache spark DF 获得的数据中将所有时间戳存储在 SQL Server 的 EST 时区中。

当我使用 current_timestamp 时,我得到了正确的 EST 时间,但是当我查看数据时得到的偏移量是“+00:00”而不是“-04:00”。

这是一个存储在数据库中的值,它是从 spark 数据集中传入的: 2020-04-07 11:36:23.0220 +00:00

从我所看到的 current_timestamp 不接受任何时区。此外,时间是正确的(它在 EST 中),但我不明白为什么偏移量是错误的。

任何帮助理解这一点都会很棒。

标签: javaapache-spark

解决方案


我将 UTC 默认值转换为 Localtimezone 如下

current_timestamp1 = current_timestamp(),
current_timestamp2 = from_utc_timestamp(current_timestamp, "Australia/Sydney")

推荐阅读