使用cassandra-cli或CQL更改cassandra列族的主键

11

我正在使用 Cassandra 1.2.5。在使用 cassandra-cli 创建列族之后,是否可以使用 cassandra-cli 或 CQL 修改列族上的主键?

具体来说,我目前有以下表格(来自 CQL):

CREATE TABLE "table1" (
  key blob,
  column1 blob,
  value blob,
  PRIMARY KEY (key, column1)
);
我希望表格如下所示,而无需删除并重新创建表格。
CREATE TABLE "table1" (
  key blob,
  column1 blob,
  value blob,
  PRIMARY KEY (key)
);

通过cassandra-cli或CQL,这是否可能实现?

1个回答

16

主键直接决定了Cassandra如何以及在哪里存储表(列族)中的数据。主键包含分区键和聚集键(可选)。

分区键确定哪个节点存储数据。它负责跨节点分发数据。其他列确定每个分区的聚类(请参见复合键文档)。

因此,更改主键将始终需要迁移所有数据。我认为cqlsh或cassandra-cli都没有针对此操作的命令(截至2015年)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接