Hive 获取最近一小时的数据

Hive 获取最近一小时的数据,hive,Hive,我需要有关创建查询的帮助。我有下表 Name(String) | Capacity(String) | Time(BIGINT) 我想得到最后一个小时内有时间的行。我该怎么做 我试着跟随,但没有成功 select * from table1 where Time > (unix_timestamp() - 60*60*1000); 请帮帮我。我认为没有这个功能 一种方法是,您必须在unix的shell脚本中花费数小时 select * from table1 where Tim

我需要有关创建查询的帮助。我有下表

Name(String) | Capacity(String) | Time(BIGINT)
我想得到最后一个小时内有时间的行。我该怎么做

我试着跟随,但没有成功

select * 
from table1 
where Time > (unix_timestamp() - 60*60*1000);

请帮帮我。

我认为没有这个功能

一种方法是,您必须在unix的shell脚本中花费数小时

select * 
from table1 
where Time > ${hiveconf:onehourago};
将上述代码写入文件中

并在shell脚本中调用上面的文件,如下所示

使用日期-d 1小时前获取hourfromunix+%Y%m%d%H%m%S


我不认为有这样的功能

一种方法是,您必须在unix的shell脚本中花费数小时

select * 
from table1 
where Time > ${hiveconf:onehourago};
将上述代码写入文件中

并在shell脚本中调用上面的文件,如下所示

使用日期-d 1小时前获取hourfromunix+%Y%m%d%H%m%S


问题解决了。这是因为unix_时间戳是以秒为单位给出的,我没有注意到这一点。按如下方式更改代码是有效的

选择* 来自表1 其中时间>unix_时间戳*1000-60*60*1000


谢谢大家。

问题解决了。这是因为unix_时间戳是以秒为单位给出的,我没有注意到这一点。按如下方式更改代码是有效的

选择* 来自表1 其中时间>unix_时间戳*1000-60*60*1000

谢谢大家。

你说的不工作是什么意思?你收到错误消息了吗?你说的“不工作”是什么意思?你收到错误信息了吗?