【发布时间】:2012-01-06 05:11:35
【问题描述】:
我用 Comparator_type="LexicalUUIDType"、Default_validation_class="UTF8Type" 和 Key_validation_class="UTF8Type" 创建了一个列族。
并将 TimeUUID 设置为上面列族中的 column_name。它的插入运行得很好,但我怎样才能得到这些列?我无法设置正确的 column_name!以下是代码:
ColumnPath path = new ColumnPath();
path.setColumn_family("test");
path.setColumn(("44c32fe1-38a4-11e1-a06a-485d60c81a3e".getBytes()));
ColumnOrSuperColumn or = new ColumnOrSuperColumn();
try {
or = client.get(ByteBuffer.wrap("key").getBytes()), path, ConsistencyLevel.ONE);
} catch (InvalidRequestException e) {
...
Cassandra DB 中的数据:
=> (column=44c32fe0-38a4-11e1-a06a-485d60c81a3e, value=32, timestamp=1325881397726)
=> (column=44c32fe1-38a4-11e1-a06a-485d60c81a3e, value=33, timestamp=1325881397726)
=> (column=44c32fe2-38a4-11e1-a06a-485d60c81a3e, value=34, timestamp=1325881397727)
=> (column=44c37e00-38a4-11e1-a06a-485d60c81a3e, value=35, timestamp=1325881397728)
=> (column=44c37e01-38a4-11e1-a06a-485d60c81a3e, value=36, timestamp=1325881397728)
...
以及异常信息:
InvalidRequestException(why:LexicalUUID should be 16 or 0 bytes (36))
at org.apache.cassandra.thrift.Cassandra$get_result.read(Cassandra.java:6490)
at org.apache.cassandra.thrift.Cassandra$Client.recv_get(Cassandra.java:519)
at org.apache.cassandra.thrift.Cassandra$Client.get(Cassandra.java:492)
at test.cassandra.MainTest.query(MainTest.java:118)
...
这就是为什么?我现在无法执行单个查询或切片查询。如何使用 uuid 按键和列名执行查询?提前致谢!
【问题讨论】:
标签: exception cassandra config uuid