1

時間順に並べられたデータをcassandraに保存しようとしています。TimeUUIDTypeをキーとして使用するのに問題があります。

phpcassaで次のエラーが発生します...

Fatal error: Uncaught exception 'cassandra_InvalidRequestException' 
with message 'TimeUUID   should be 16 or 0 bytes (6)'

これは、insertメソッドを呼び出すときに発生します。

$pool = new ConnectionPool("Keyspace1", array("localhost:9160"));
$column_family = new ColumnFamily($pool, 'users');
$column_family->insert(CassandraUtil::uuid1(), array('name' => 'value'));

次のコマンドでcassandra-cliを使用してテストテーブルを作成しました...

CREATE COLUMN FAMILY users WITH comparator = TimeUUIDType;
4

1 に答える 1

1

comparator行キーではなく、列名に適用されます。行キーをTimeUUIDにする場合は、key_validation_class代わりに設定する必要があります。

Cassandraは列名にTimeUUIDを予期しているため、この例外が発生しますが、通常の文字列を渡しています。

于 2011-12-18T17:25:02.423 に答える