Hive 配置单元查询在基于where子句提供查询结果之前将MST时间戳转换为UTC

Hive 配置单元查询在基于where子句提供查询结果之前将MST时间戳转换为UTC,hive,hql,tableau-api,Hive,Hql,Tableau Api,我一直在做一个表格报告,它为一群人提取和显示统计数据。这些统计数据由一系列参数收集和组织,其中一个参数是时间戳 我一直在与一个问题作斗争,我的配置单元查询获取的数据超过了应有的数量。比如说 select * from table1 pre where date(pre.`timestamp`) between '2019-11-01' and '2019-11-30' 此查询正在提取一行,MST时间戳为2019-10-31 5:19pm,相当于2019-11-01 12:19am的UTC时

我一直在做一个表格报告,它为一群人提取和显示统计数据。这些统计数据由一系列参数收集和组织,其中一个参数是时间戳

我一直在与一个问题作斗争,我的配置单元查询获取的数据超过了应有的数量。比如说

select *

from table1 pre

where date(pre.`timestamp`) between '2019-11-01' and '2019-11-30'
此查询正在提取一行,MST时间戳为2019-10-31 5:19pm,相当于2019-11-01 12:19am的UTC时间

我花了几个小时研究可能的解决方法,我们的服务器配置为MST,我看到一些资源,其中有人建议转换为字符串,而不是拉时间戳,但这将非常不方便,并且会给我们正在运行的报告带来很多麻烦。在运行查询之前,我还尝试在查询中指定时区

set timezone=MST;

但是我的想法快用完了。以前是否有其他人遇到过此问题或类似问题?

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

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

您是否尝试过使用
将谓词的任一侧从\u utc\u timestamp
/
转换为\u utc\u timestamp
?请在此处检查答案: