我有两个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
?
答案 0 :(得分:0)
尝试从unix_timestamp()函数中删除上面的逗号,如下所示:
insert into table2 select * from table1 where lastactivitytimestamp > unix_timestamp(${hivevar:maxtime});