2011-07-26 7 views
3

私はCassandra 0.8.0を使用しています。Cassandra Cliでスーパーカラムファミリーを設定

Cassandra-Cliを使用して現在の既存のSuperColumnに値を追加する方法を理解できません。例えば:私は私の鍵空間

create column family authors 
with comparator = UTF8Type and subcomparator = UTF8Type 
and default_validation_class = UTF8Type 
and column_metadata = [{ 
    column_name: tags, validation_class: UTF8Type}, 
    {column_name: url, validation_class:UTF8Type}, 
    {column_name: title, validation_class: UTF8Type}, 
    {column_name: publisher, validation_class: UTF8Type}, 
    {column_name: email, validation_class: UTF8Type}]; 

に以下を追加している私はこのスーパー列やっに行を追加しようとした: (入力)[[email protected]] set authors[1]['1']['url'] = 'www.henry.com';

誤差である(出力)[[email protected]] null ^

私もこれ試してみてください。

[[email protected]] set authors['henry']['url']['1'] = 'www.henry.com'; 

とget:

org.apache.cassandra.db.marshal.MarshalException: cannot parse 'henry' as hex bytes 

Cassandra-CliでSuperColumnsを操作するための適切な構文は何ですか?あなたはcassandra-cliのスーパーカラムを使って値を設定/取得するための例を提供できますか?

あなたは

答えて

6

あなたの列の家族の定義に

column_type = 'Super' and key_validation_class = UTF8Type 

を追加する必要がありますありがとうございました。

+0

お返事ありがとうございます。 Cassandraがスーパー列の索引付けサブカラムをサポートする場合はどうしますか? – Henry

0

スーパーカラムのサブカラムにセカンダリインデックスを作成することはできません。したがって、スーパー列の使用は、サブ列の数が比較的少ない使用例に最も適しています。

関連する問題