2017-06-20 81 views
2

下面的讨论似乎表明,蜂巢时间戳有一个时区:“时间戳解释为timezoneless并存储为从UNIX纪元偏移” https://community.hortonworks.com/questions/83523/timestamp-in-hive-without-timezone.html是否在Apache Hive中使用时区存储时间戳?

的阿帕奇维基说:

我指的是:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-TimestampstimestampTimestamps

如果我使用如下代码:

from_unixtime(unix_timestamp(ts_field,'yyyy-MM-dd HH:mm:ss'), 'yyyy-MM-dd HH:mm:ss z') as ts_field_tz 

这似乎露出下层的时区值。

回答

3

短语“无时区”有误导性;它真正的意思是......

如果您有由蜂巢写入数据文件,这些TIMESTAMP值 表示其中数据被写入主机的本地时区

这是从Impala documentation摘录 - 他们说得非常明确,因为这是一个真正的痛苦,当您需要访问从Hive Impala的同一张表,因为与Hive相反...

默认情况下,Impala不会使用本地时区 来存储时间戳,以避免意外时区问题导致的意外结果。 时间戳存储和解释相对于UTC

相关问题