9

から始めており、 で実行listまたはgetコマンドを実行すると、次のような結果が得られます。

[default@usersdatabase] 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」のような値しか表示されません。

人間が読める形式で値を表示するにはどうすればよいですか?

4

1 に答える 1

20

デフォルトでは、列名と列値はCassandraにはタイプがなく、バイト配列のみです。コンパレータクラス(列名タイプ)または検証クラス(列値タイプ)を設定すると、CLIはこれを取得し、バイト配列の16進バージョンではなく適切な形式でデータ型を表示します。

この実際のデータ型を使用したくない場合は、assumeコマンドを使用して、列名または値が特定のデータ型であると想定するようにCLIに指示できます。キーにはデータ型がないためassume、一部のデータ型を操作する場合は、そこで使用する必要があります。

参考までに、assumeに関するヘルプ情報は次のとおりです。

[default@Keyspace1] 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;

編集:Cassandra 0.8以降、キーの検証クラスを指定でき、CLIはこの情報を自動的に利用します。

于 2011-01-12T05:17:03.927 に答える