Nosql presto from_unixtime函数是否正确?

Nosql presto from_unixtime函数是否正确?,nosql,presto,Nosql,Presto,我对bigint to timestamp进行了查询,其值为“1494257400” 我将使用presto查询 但presto不是从_unixtime()函数收集结果 蜂巢版本 从unixtime(1494257400)结果中选择:“2017-05-09 00:30:00” 普雷斯托版本 大宗报价 从unixtime(1494257400)结果中选择:“2017-05-08 08:30:00” hive给出了收集结果,但presto不是收集结果。我怎样才能解决这个问题 当来自Hive的prest

我对bigint to timestamp进行了查询,其值为“1494257400”

我将使用presto查询 但presto不是从_unixtime()函数收集结果

蜂巢版本

从unixtime(1494257400)结果中选择:“2017-05-09 00:30:00”

普雷斯托版本

大宗报价

从unixtime(1494257400)结果中选择:“2017-05-08 08:30:00”


hive给出了收集结果,但presto不是收集结果。我怎样才能解决这个问题

当来自Hive的presto
返回您当地时区的日期时,来自unixtime的presto
将返回UTC的日期

根据_unixtime的

从unix历元(1970-01-01 00:00:00)转换秒数 UTC)中表示该时刻的时间戳的字符串 当前系统时区格式为“1970-01-01 00:00:00”

配置单元的输出不是很好,因为ISO格式的字符串如果有任何不是GMT+00的数据,则应该显示GMT数据


使用Hive,您可以使用
将utc时间戳({any primitive type}ts,string timezone)
将时间戳转换为正确的时区。请查看上面提供链接的手册。

thx。。。我明白。但我不知道如何更改查询以接收相同的结果..;\;。。你能给我一个例子普雷斯托查询吗?到utc时间戳,这不是普雷斯托函数。对吗?还有一个来自unixtime的普雷斯托的
重载,它需要一个时区字符串。因此,我将查询更改为
select from_unixtime(1494257400,'美国/纽约')
以获得本地结果。我还注意到DataGrip总是转换为本地时区,所以请注意您的工具执行类似的转换。