【问题标题】:How can I execute a query when columns comparator_type is in LexicalUUIDType?当比较器类型在 LexicalUUIDType 中时,如何执行查询?
【发布时间】: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


    【解决方案1】:

    UUID 的字节表示不是你调用"44c32fe1-38a4-11e1-a06a-485d60c81a3e".getBytes() 时得到的(一个uuid 是16 个字节,这个string.getBytes() 是36 个字节)。 FAQ on the cassandra wiki 有说明如何在 java 中做你想做的事:

    java.util.UUID.fromString("44c32fe1-38a4-11e1-a06a-485d60c81a3e");
    

    【讨论】:

      猜你喜欢
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多