Hive重命名包含分区的表中的列

mw3dktmi  于 2023-10-18  发布在  Hive
关注(0)|答案(1)|浏览(181)

这是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表。

vatpfxk5

vatpfxk51#

我认为你使用了错误的语法。
如果你试图重命名一个不是分区列的列,语法是-

  1. alter table mytable change column old_name new_name datatype;

但是如果你试图重命名一个分区列,这就有点困难了,你必须用新的分区列名称重新创建表。就像下面-

  1. create table mytable ( col1 int, col2 string) PARTITIONED BY(new_name string);
  2. insert into mytable partition (new_name ) select x as col1, y as col2, z as new_name from old_table;
  3. drop table old_table;

请注意分区中的新列名,然后我们将旧表中的数据加载到新表中。

相关问题