如何将新行插入分区表并替换Hive中已经存在的值

时间:2019-04-18 09:42:24

标签: sql hive insert hiveql partitioning

我有一个分区表(按ID),该表包含以下内容:

Name,ID,PASS
A,1,abc
B,2,dfg
C,3,jkl

我想在上表中插入新行,但也要更新旧行(如果存在)。

我要附加的内容:

NAME,ID,PASS
D, 4, asd
B, 2, kkk
C, 3, rrr

如您所见,观测值B和C是旧表的更新,而我想要的最终值如下:

Name,ID,PASS
A, 1, abc  # existed and stay as it was
B, 2, kkk  # existed but replaced with the new PASS
C, 3, rrr  # existed but replaced with the new PASS
D, 4, asd  # not existed and has appended

结果,我们更新了要添加的表所共有的旧行,并且也有了新行。

我试图在Hive中使用 INSERT OVERWRITE 命令,但这只是将新表替换为旧表,从而丢失了我想保留的信息。关于如何在Hive中完成此操作的任何建议?

0 个答案:

没有答案