这是Hive中的一个带有分区的表我试过:ALTER TABLE tablename CHANGE COLUMN old_name new_name修改:配置单元样式的ALTER COLUMN不支持重命名列,请改为运行RENAME COLUMN然后我试着:ALTER TABLE tablename RENAME COLUMN old_name TO new_name更改:RENAME COLUMN仅支持v2表。
vatpfxk51#
我认为你使用了错误的语法。如果你试图重命名一个不是分区列的列,语法是-
alter table mytable change column old_name new_name datatype;
但是如果你试图重命名一个分区列,这就有点困难了,你必须用新的分区列名称重新创建表。就像下面-
create table mytable ( col1 int, col2 string) PARTITIONED BY(new_name string);insert into mytable partition (new_name ) select x as col1, y as col2, z as new_name from old_table;drop table old_table;
create table mytable ( col1 int, col2 string) PARTITIONED BY(new_name string);
insert into mytable partition (new_name ) select x as col1, y as col2, z as new_name from old_table;
drop table old_table;
请注意分区中的新列名,然后我们将旧表中的数据加载到新表中。
1条答案
按热度按时间vatpfxk51#
我认为你使用了错误的语法。
如果你试图重命名一个不是分区列的列,语法是-
但是如果你试图重命名一个分区列,这就有点困难了,你必须用新的分区列名称重新创建表。就像下面-
请注意分区中的新列名,然后我们将旧表中的数据加载到新表中。