2013-08-24 47 views
11

我正在使用Cassandra 1.2.5。使用cassandra-cli在Cassandra中創建列族之後,是否可以使用cassandra-cli或CQL修改列族的主鍵?使用cassandra-cli或CQL修改cassandra列族主鍵

具體而言,我現在有下表(從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嗎?

回答

16

主鍵直接確定cassandra如何以及在何處存儲表(列族)中包含的數據。主鍵由分區鍵和集羣鍵(可選)組成。

分區鍵確定哪個節點存儲數據。它負責跨節點的數據分發。其他列確定每分區羣集(請參閱compound key documentation)。

因此,更改主鍵將始終需要遷移所有數據。我不認爲cqlsh或cassandra-cli有這個命令(截至2015年)..