Hive 查询将 MST 时间戳转换为 UTC,然后根据 where 子句提供查询结果



我一直在制作一个 tableau 报告,该报告提取并显示一组人的统计数据。这些统计信息由一系列参数收集和组织,其中一个参数是时间戳。

我一直在与我的 Hive 查询提取比应有的更多数据的问题作斗争。例如

select *
from table1 pre
where date(pre.`timestamp`) between '2019-11-01' and '2019-11-30'

此查询拉取的行的 MST 时间戳为 2019-10-31 5:19pm,相当于 UTC 2019-11-01 12:19am

我花了几个小时研究解决此问题的可能方法,我们的服务器配置为 MST,我看到一些资源,人们建议转换为字符串而不是拉取时间戳,但这会带来极大的不便,并且会导致很多麻烦我们正在运行的报告。我还尝试在查询中指定时区,然后再运行它

set timezone=MST;

但我的想法已经用完了。以前有没有人遇到过这个或类似的问题?

感谢您的帮助。我尝试使用该from_utc_timestamp但遇到了问题。最终,我找到了一种方法来拉取带有 unix 时间时间戳的列,减去秒作为时差,并且在将其从字符串转换为日期后,我在 tableau 中使用参数对其进行过滤。

,TO_DATE(from_unixtime(unix_timestamp(pre.`timestamp`) - 25200)) 

最新更新