hive 如何更改分区列的数据类型?

e0bqpujr  于 2023-04-20  发布在  Hive
关注(0)|答案(1)|浏览(205)

x1c 0d1x考虑下表:

CREATE EXTERNAL TABLE sales(id INT,name STRING,amount DOUBLE)PARTITIONED BY(CITY INT);

在上面的表中,当我试图改变非分区数据类型时,我可以使用下面的命令

ALTER TABLE sales CHANGE name name varchar(10);

当我试图改变城市列的分区数据类型时,也是这样

ALTER TABLE sales CHANGE city城市字符串;
FAILED:执行错误,org. apache. hadoop. hive. ql. exec. DDLTask返回代码1,列引用城市无效

面对上述错误
谁能帮我查询如何更改分区列的数据类型?

hs1ihplo

hs1ihplo1#

你真的不能。你需要重新创建表结构。
分区列创建物理文件夹来分区和存储数据。所以,唯一的方法是-
1.创建一个新的表与新的分区列类型。
1.从旧表插入新表。
1.扔掉旧table
1.将新表重命名为旧表。

相关问题