如何为CURRENT_TIMESTAMP配置代码工作簿的时区?

问题描述

如何配置代码工作簿的时区,以便在sql调用CURRENT_TIMESTAMP会返回我的本地时间而不是认的UTC?

有什么理由建议这样做吗?

解决方法

Spark中的时间戳没有时区的概念,因为它们表示自Unix时代以来的微秒数。我不知道有任何代码工作簿设置可以更改此设置,但是Spark可能会使用它在其上执行功能的任何主机的系统时钟来确定当前时间戳应该是什么,并且不可能摆弄这些设置。

听起来像您正在寻找的功能是from_utc_timestamp之类的函数,它将您的时间戳记为UTC并将其转换为您的时区。请注意,您的时间戳仍然与时区无关,但是如果您要打印时间戳的字符串表示形式,则现在看起来就像本地时区中的墙上时钟日期/时间。