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

Jus*_*ney 11 cql cassandra cql3 cassandra-cli cqlsh

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

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

CREATE TABLE "table1" (
  key blob,
  column1 blob,
  value blob,
  PRIMARY KEY (key, column1)
);
Run Code Online (Sandbox Code Playgroud)

我希望该表如下,而不必删除并重新创建表:

CREATE TABLE "table1" (
  key blob,
  column1 blob,
  value blob,
  PRIMARY KEY (key)
);
Run Code Online (Sandbox Code Playgroud)

这可能通过cassandra-cli或CQL实现吗?

Joh*_*ohn 16

主键直接确定cassandra如何以及在何处存储表(列族)中包含的数据.主键由分区键和群集键(可选)组成.

分区键确定哪个节点存储数据.它负责跨节点的数据分发.其他列确定每个分区的群集(请参阅复合密钥文档).

因此,更改主键始终需要迁移所有数据.我认为cqlsh或cassandra-cli都没有这个命令(截至2015年).