将具有当前时间戳的列添加到 Hive 中的表
Posted
技术标签:
【中文标题】将具有当前时间戳的列添加到 Hive 中的表【英文标题】:Add a column with the current timestamp to a table in Hive 【发布时间】:2019-07-25 14:28:53 【问题描述】:我正在尝试将名为 tstamp 的列添加到我创建的表中。该列将以“yyyy-MM-dd”格式填充每一行的当前时间戳。
我最初使用以下语句从另一个表 (table1) 创建表:
create location2.table2
as (select *
from location1.table1
);
然后我使用 alter table 语句将一个名为 tstamp 的字段添加到 table2 使用代码:
alter table location2.table2
add columns (tstamp date)
我可以看到这已经成功地向 table2 添加了一个名为 tstamp 的列,并将该表的每一行填充为空。我现在正试图将当前日期插入字段 tstamp 的每一行,但我正在努力这样做。我试过使用 insert into 语句:
insert into location2.table2 (tstamp)
values (to_date(current_timestamp()))
但得到错误“插入/值中不支持 TOK_FUNCTION 类型的表达式”。然后我还尝试仅添加一个字符串并将该函数替换为“2019-07-25”。这样做会在我的表中添加一个新行,其中每一列都包含空值,但 tstamp 的值为“2019-07-25”。我现在很困惑,因为我的方法似乎不是解决问题的正确方法,并且不确定从这里去哪里。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:create location2.table2 as (select current_date as tstamp,* from location1.table1);
【讨论】:
以上是关于将具有当前时间戳的列添加到 Hive 中的表的主要内容,如果未能解决你的问题,请参考以下文章