2011-01-11 11 views
9

Im zaczynając i kiedy biegnę list lub get poleceń , mam wyniki tak:Cassandra cli: Konwersja wartości szesnastkowe w formacie czytelnym dla człowieka

[[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. 

nie mogę go odczytać Widzę tylko wartości takie jak "6e616d65".

Jak wyświetlić wartości w formacie czytelnym dla człowieka?

Odpowiedz

20

Domyślnie nazwy kolumn i wartości kolumn nie mają typu w Cassandrze, są to tylko tablice bajtów. Jeśli ustawisz klasę porównawczą (typ nazwy kolumny) lub klasa sprawdzania poprawności (typ wartości kolumny), CLI podniesie to i wyświetli typy danych w sensownym formacie zamiast szesnastkowej wersji tablicy bajtów .

Jeśli nie chcesz tego rzeczywistego wpisywania danych, możesz poinformować CLI, że przyjmuje nazwy lub wartości kolumn za określony typ danych za pomocą polecenia assume. Klucze nigdy nie mają typu danych, więc trzeba tam użyć assume, jeśli chcesz pracować z niektórymi typami danych.

Oto info o pomoc Zakładamy dla odniesienia:

[[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: Zgodnie z Cassandrą 0.8, można określić klasę walidacji na klucze, a CLI automatycznie skorzysta z tej informacji.

Powiązane problemy