2011-01-11 3 views
9

로 시작, 내가 list 또는 get 명령을 실행할 때, 나는이 같은 결과를 얻을 것은 :카산드라는 CLI : 사람이 읽을 수있는 형식으로 16 진수 값을 변환

[[email protected]] list users; 
Using default limit of 100 
------------------- 
RowKey: boby 
=> (column=6e616d65, value=426f62, timestamp=1294780856414000) 
------------------- 
RowKey: edzuksm 
=> (column=656d61696c, value=6d617268656c697340696e626f782e6c76, timestamp=1294780533705000) 
=> (column=6e616d65, value=45647561726473, timestamp=1294780488155000) 
=> (column=7375726e616d65, value=4d617268656c6973, timestamp=1294780515429000) 

2 Rows Returned. 

나는 그것을 읽을 수 없습니다 , '6e616d65'와 같은 값만 표시됩니다.

사람이 읽을 수있는 형식으로 값을 표시하려면 어떻게해야합니까?

답변

20

기본적으로 열 이름과 열 값은 Cassandra에 유형이 없으며 바이트 배열 만 사용됩니다. 비교기 클래스 (열 이름 형식) 또는 유효성 검사 클래스 (열 값 형식)을 설정하면 CLI가이를 받아 들여 16 진수 버전의 바이트 배열 대신 유용한 형식으로 데이터 형식을 표시합니다 .

이 실제 데이터 입력을 원하지 않으면 assume 명령을 사용하여 열 이름 또는 값이 특정 데이터 유형이라고 가정하도록 CLI에 알릴 수 있습니다. 키에는 데이터 유형이 없기 때문에 일부 데이터 유형으로 작업하려면 assume을 사용해야합니다.

[[email protected]] help assume;  
assume <column_family> comparator as <type>; 
assume <column_family> sub_comparator as <type>; 
assume <column_family> validator as <type>; 
assume <column_family> keys as <type>; 

Assume one of the attributes (comparator, sub_comparator, validator or keys) 
of the given column family to match specified type. Available types: bytes, integer, 
long, lexicaluuid, timeuuid, utf8, ascii. 
example: 
assume Users comparator as lexicaluuid; 

편집이 :

여기 참조를 위해 가정의 도움말 정보의 카산드라 0.8로, 당신은 키에 대한 검증 클래스를 지정할 수 있고, CLI는 자동으로이 정보를 사용합니다.