代码之家  ›  专栏  ›  技术社区  ›  MOMO

配置单元重命名具有分区的表中的列

  •  0
  • MOMO  · 技术社区  · 2 年前

    这是一个有分区的配置单元中的表

    我尝试过: ALTER TABLE表名CHANGE COLUMN旧名称新名称 语法:配置单元样式ALTER column中不支持重命名列,请改为运行RENAME column

    然后我试着: ALTER TABLE表名RENAME COLUMN旧名称到新名称 语法:RENAME COLUMN只支持v2表。

    0 回复  |  直到 2 年前
        1
  •  0
  •   Koushik Roy    2 年前

    我认为你用错了语法。

    如果您试图重命名不是分区列的列,语法为-

    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;
    

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