为 hive 表中新添加的记录更新唯一 id 列

Posted

技术标签:

【中文标题】为 hive 表中新添加的记录更新唯一 id 列【英文标题】:Updating unique id column for newly added records in table in hive 【发布时间】:2017-08-03 18:21:17 【问题描述】:

我有一个表,我希望在其中插入新记录时自动添加唯一标识符。考虑到我已经创建了唯一标识符列。

【问题讨论】:

【参考方案1】:

hive 无法更新表,但您可以创建一个临时表或覆盖您的第一个表。 您也可以使用concat 函数连接两个不同的列或字符串。 这是例子

function :concat(string A, string B…)  
return: string  

hive> select concat(‘abc’,'def’,'gh’) from dual;  
abcdefgh  

HQL &结果

insert overwrite table stock select tradedate,concat('aa',tradetime),stockid ,buyprice,buysize ,sellprice,sellsize from stock;
20130726    aa094251    204001  6.6 152000  6.605   100
20130726    aa094106    204001  6.45    13400   6.46    100

【讨论】:

以上是关于为 hive 表中新添加的记录更新唯一 id 列的主要内容,如果未能解决你的问题,请参考以下文章

唯一标识符更改时如何更新表?

给有重复记录的表添加唯一索引

有没有办法为 Hive 返回的所有记录动态添加一个常量值?

Hive sql去重

如何像我们在 hive 中那样为每个 id 分区 MySQL 表

更新 hive 表中的增量记录