在impala中更改表:将列设为主键

时间:2019-06-06 09:59:29

标签: sql bigdata impala alter-table hue

使用Hue,如何更改表以使现有列成为主键?

我检查了诸如此类的东西

ALTER TABLE table_name ADD CONSTRAINT colname PRIMARY KEY (cs_id);

在语法上不正确。

注意:数据是使用Kudu文件系统存储的。

2 个答案:

答案 0 :(得分:1)

首先,在alter contraint中将Impala does not support alter table作为选项。

第二,primary keys are very limited

  

主键列必须是CREATE TABLE语句中指定的前几列。

我认为您在定义主键后不能更改它。在Impala中,数据是通过主键进行聚类(即排序)的,因此任何更改都将非常昂贵。

您可能需要重新创建表并重新加载数据。

答案 1 :(得分:1)

以Kudu格式存储时,您需要考虑到在创建表时必须全部创建PK列。 Impala不支持更改主键。 恐怕您需要再次删除并创建表。