【问题标题】:Drop column in Impala在 Impala 中删除列
【发布时间】:2023-01-24 00:47:52
【问题描述】:
我想在 Impala 中删除整个“索引”列(列名和值):
| index |
case_id |
customer_id |
| 1 |
A |
xxx56 |
我使用了这段代码:
ALTER TABLE DBName.Tablename
DROP COLUMN index;
结果是这样的:
我该如何解决这个问题?
【问题讨论】:
标签:
hadoop
hive
impala
alter-table
【解决方案1】:
删除带有 ALTER TABLE mytab DROP COLUMN col 的列将仅更改元数据,底层数据保持不变。这意味着尽管数据完好无损,但您已经移动了列。
唯一的解决方案是备份、删除和重新创建表。
create table DBName.Tablename_tmp as select case_id, customer_id from DBName.Tablename; -- just backup table with new structure.
drop table DBName.Tablename;
create table DBName.Tablename as select * from DBName.Tablename_stg;