2013-10-25 6 views
9

私は、次のCQL 3の文カサンドラ非カウンターファミリー

CREATE TABLE summary (
       id uuid, 
       "client" bigint, 
       "campaign" text, 
       "unit" bigint, 
       "view" counter, 
       PRIMARY KEY ("client", "campaign", "unit")); 

を実行しようとしてる私が取得していますエラーは、私が非カウンタ列ファミリのカウンター列を作成することができないということです。

アイデア?

答えて

6

カウンタを含むテーブルには、カウンタのみを含めることができます。

+0

だから、唯一のカウンターと、単一のキーを持つことができますか? – Dharun

+0

複数の主キーが受け入れられます:http://docs.datastax.com/en/cql/3.0/cql/cql_using/use_counter_t.html – Mullefa

13

この問題の解決策は、非カウンタ列がすべてプライマリキーの一部でなければならないことです。列id uuidが問題の原因となっていましたが、削除するとテーブルが作成されました。

0

これは、現在のカウンタ実装の制限です。カウンターと通常の列を同じテーブルに混在させることはできません。だからカウンターのために別のテーブルが必要です。

彼らはCassandra 3.xでこの制限を取り除くことを考えています。このJira ticketを参照してください。 (Cassandra non counter familyから移行)