hadoop 将数据加载到Impala中新添加的列中

vof42yt1  于 2023-01-12  发布在  Hadoop
关注(0)|答案(1)|浏览(229)

假设schema1中有一个表1,如下所示:
| 学生ID|数学|
| - ------|- ------|
| 1个|A类|
| 第二章|乙|
| 三个|B +|
现在,我想在schema1的table1中添加一个新列,例如Literature。

ALTER TABLE schema1.table 1
ADD COLUMN Literature STRING

表1现在看起来像
| 学生ID|数学|文学|
| - ------|- ------|- ------|
| 1个|A类|零|
| 第二章|乙|零|
| 三个|B +|零|
我想从table2,shema2中根据各自的Stu_ID加载数据,有办法吗?我想到了UPDATE,但是据我理解,Impala只支持更新一个kudu表,如果我说错了,请指正。

wlzqhblo

wlzqhblo1#

您可以insert+overwrite而不是更新。

insert overwrite schema1.table1 t1
select 
t1.stu_id, t1.Math, t2.Literature
from  schema1.table1 t1
join  schema2.table2 t2 ON t1.stu_id=t2.stu_id

这将替换t1的整个数据,并且将替换为旧数据+新列。

相关问题