質問

最初からです , 、そして私が走るとき 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」のような値だけを見る。

人間の読み取り可能な形式で値を表示するにはどうすればよいですか?

役に立ちましたか?

解決

デフォルトでは、列名と列の値はカサンドラにタイプがなく、それらはバイト配列のみです。あなたが設定した場合 コンパレータクラス (列名タイプ)または 検証クラス (列値の種類)、CLIはこれをピックアップし、バイト配列の16進バージョンではなく、賢明な形式でデータ型を表示します。

この実際のデータタイピングが必要ない場合は、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はこの情報を自動的に使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top