Apache spark 如何将所有时间戳转换为配置单元表中的EST

Apache spark 如何将所有时间戳转换为配置单元表中的EST,apache-spark,pyspark,hive,hiveql,Apache Spark,Pyspark,Hive,Hiveql,我有一个包含时间戳字段的配置单元表,它可以有任何时区…(UTC/PST/CST…) 我想把它们都转换成一个时间戳EST。它可以在蜂箱或Pyspark中完成。 基本上,我在pyspark应用程序中使用它,它在这个datetime字段上有一个分组逻辑,在这样做之前,我们希望将配置单元表中的所有时间都转换为EST时间 Sid,通常配置单元使用写入数据的主机的本地时区。函数from_utc_timestamp()和to_utc_timestamp对我们很有帮助。在这种情况下,您应该使用位置/地区,而不是

我有一个包含时间戳字段的配置单元表,它可以有任何时区…(UTC/PST/CST…) 我想把它们都转换成一个时间戳EST。它可以在蜂箱或Pyspark中完成。 基本上,我在pyspark应用程序中使用它,它在这个datetime字段上有一个分组逻辑,在这样做之前,我们希望将配置单元表中的所有时间都转换为EST时间


Sid,通常配置单元使用写入数据的主机的本地时区。函数from_utc_timestamp()和to_utc_timestamp对我们很有帮助。在这种情况下,您应该使用位置/地区,而不是将时区表示为UTC/EST,因为这将考虑到日光节约

以下是有关更多示例的有用链接:


如果您还有其他问题,请分享您已经尝试过的内容,并分享您的数据样本片段,以便进一步调查

提及HIV时区对Y2K38漏洞和JDBC兼容性问题相关的最长时间有限制的事实

serde2的时间戳类型,支持unix时间戳(1970-01-01 00:00:01 UTC到2038-01-19 03:14:07 UTC),可选纳秒精度,使用LazyBinary和LazySimple SerDes。 对于LazySimpleSerDe,数据存储在符合jdbc的java.sql.Timestamp可解析字符串中。

is simulation关联到1970年之前和2038年之后的支持时间戳

因此,我认为使用日期类型或字符串类型的HIV数据类型会更好。然后,您可以使用任何时区偏移作为持久化的默认值

* utc_timestamp is the column name */


/* bellow will convert a timestamp in UTC to EST timezone  */

select from_utc_timestamp(utc_timestamp, 'EST') from table1;
希望这有帮助


你试过什么?数据是什么样子的?感谢您的详细解释,它确实有帮助!