2013-08-24 8 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) 
); 

Iテーブルをドロップして再作成することなく、するテーブルを希望:

CREATE TABLE "table1" (
    key blob, 
    column1 blob, 
    value blob, 
    PRIMARY KEY (key) 
); 

をこれはcassandra-cliまたはCQLのどちらでも可能ですか?

答えて

16

主キーは、テーブル(列ファミリ)に格納されているデータの格納方法と場所を直接決定します。主キーは、パーティションキーとクラスタリングキーで構成されています(オプション)。

パーティションキーは、どのノードがデータを格納するかを決定します。ノード間のデータ配信を担当します。追加の列は、パーティションごとのクラスタリングを決定します(compound key documentationを参照)。

プライマリキーを変更すると、常にすべてのデータを移行する必要があります。私はcqlshかcassandra-cliのどちらにもこのコマンド(2015年現在)がないとは思わない。

関連する問題