Hive时间戳聚合

时间:2014-08-18 12:04:24

标签: hadoop hive

我有两个hive表,其中一个表正在由Java API团队更新每小时基础(他们正在调用并将其存储到配置单元table1)。现在我必须聚合最新数据并将其存储到另一个名为table2的表中(新加载的数据,因为旧数据已经聚合并存储)。为此,我使用了以下查询:

set maxtime = select max(lastactivitytimestamp) from table2;
insert into table2 select * from table1 where lastactivitytimestamp > unix_timestamp('${hivevar:maxtime}');

我没有得到任何结果。但是当我手动给出时间戳值时,我会得到数据,如下所示:

insert into table2 select * from table1 where lastactivitytimestamp > unix_timestamp('2014-08-18 15:23:26.754');

是否可以在unix_timestamp

中传递动态值

1 个答案:

答案 0 :(得分:0)

尝试从unix_timestamp()函数中删除上面的逗号,如下所示:

insert into table2 select * from table1 where lastactivitytimestamp > unix_timestamp(${hivevar:maxtime});