我正在尝试将数据存储到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;
答案 0 :(得分:1)
comparator
适用于列名,而不适用于行键。如果您希望行键为TimeUUID,则应设置key_validation_class
。
您收到此异常是因为Cassandra期望列名称为TimeUUID,但您传递的是普通字符串。