8

嗨,我是 Hive 的新手,我想将当前时间戳与一行数据一起插入到我的表中。

这是我的团队表的示例:

team_id int
fname   string
lname   string
time    timestamp

我看过其他一些例子,如何将时间戳插入 Hive 表?如何在 hive 中添加时间戳列,但似乎无法使其正常工作。这就是我正在尝试的:

insert into team values('101','jim','joe',from_unixtime(unix_timestamp()));

我得到的错误是:

FAILED: SemanticException [Error 10293]: Unable to create temp file for insert values Expression of type TOK_FUNCTION not supported in insert/values

如果有人可以提供帮助,那就太好了,非常感谢frostie

4

2 回答 2

12

可以通过 实现current_timestamp(),但只能通过 select 子句。甚至不需要fromselect 语句中的子句。

insert into team select '101','jim','joe',current_timestamp();

或者如果您的配置单元版本不支持保留from选择语句

insert into team select '101','jim','joe',current_timestamp() from team limit 1;
于 2016-06-16T19:45:06.493 回答
3

如果您还没有包含至少一行的表,则可以这样完成所需的结果。

insert into team select '101','jim','joe',current_timestamp() from (select '123') x;
于 2017-05-30T15:01:33.450 回答