2011-01-11 19 views
9

Imはで始まる、と私はlistまたはgetのコマンドを実行したとき、私はこのような結果を得る:カサンドラCLI:人間が読める形式に進値に変換

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

EDIT:カサンドラ0.8の時点で、あなたがキーのバリデーションクラスを指定することができ、およびCLIは自動的にこの情報を利用しますが。

関連する問題