2011-07-26 2 views
3

카산드라 0.8.0을 사용하고 있습니다.카산드라 클리 (Cassandra Cli)의 슈퍼 컬럼 패밀리 세트

Cassandra-Cli를 사용하여 현재 기존 SuperColumn에 값을 추가하는 방법을 알 수 없습니다. 예를 들어 I는 제 KEYSPACE에 다음 추가

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}]; 
I이 수퍼 컬럼 행함에 행을 추가하는 시도

: (입력) [[email protected]] set authors[1]['1']['url'] = 'www.henry.com';

(출력) 오류^

이다 [[email protected]] null

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

를 얻을 :

나는이 너무 시도

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

Cassandra-Cli에서 수퍼 컬럼을 조작하기위한 올바른 구문은 무엇입니까? cassandra-cli의 수퍼 컬럼을 사용하여 값을 설정/가져 오기위한 예제를 제공 할 수 있습니까?

답변

6

당신은 열 가족의 정의에

column_type = 'Super' and key_validation_class = UTF8Type 

을 추가해야합니다 감사합니다.

+0

응답 해 주셔서 감사합니다. 카산드라가 슈퍼 컬럼에서 색인 열 작성 서브 컬럼을 지원할 예정입니까? – Henry

0

수퍼 컬럼의 서브 컬럼에 2 차 인덱스를 작성할 수 없습니다. 따라서 수퍼 컬럼의 사용은 서브 컬럼의 수가 상대적으로 적은 사용 사례에 가장 적합합니다.