2011-01-11 4 views
9

Im начиная с , и когда я бегу list или get команды в , я получаю результаты, как это:Cassandra кли: Преобразование шестнадцатеричных значений в воспринимаемом формате

[[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 подберет это и покажет вам типы данных в разумном формате вместо шестнадцатеричной версии массива байтов ,

Если вы не хотите вводить настоящие данные, вы можете сообщить CLI, что имена или значения столбцов являются определенным типом данных с помощью команды assume. Ключи никогда не имеют типа данных, поэтому 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; 

EDIT: Как Кассандры 0.8, вы можете указать класспроверки для ключей, и CLI автоматически использует эту информацию.