我是卡桑德拉和赫克托的新手。现在我正在尝试检索我存储在 cassandra 中的一些数据。有很多列,其中一些有前缀。
column1 column2 column3 prefix1_prefix2_column3 prefix1_prefix2_column4 ....等等。
现在我想获取所有带有 prefix1_prefix2_ 的列
但是,我得到的比我想要的要多,其他一些列也被退回。
CF比较器是bytestype,我也试过utf8类型,不行。
以下是我的代码,
SliceQuery<UUID, String, ByteBuffer> query = HFactory.createSliceQuery(
keyspace, UUIDSerializer.get(), stringSerializer,
ByteBufferSerializer.get());
String columnPrifx = "prefix1_prefix2";
query.setKey(keyuuid).setColumnFamily("UserLogin");
query.setRange(columnPrifx, columnPrifx, false, Integer.MAX_VALUE);
//query.setRange(columnPrifx, null, false, Integer.MAX_VALUE);
//i also tried null above
ColumnSliceIterator<UUID, String, ByteBuffer> iterator = new ColumnSliceIterator<UUID, String, ByteBuffer>(
query, null, "\uFFFF", false);
while (iterator.hasNext()) {
HColumn<String, ByteBuffer> c = iterator.next();
System.out.println(c.getName());
}
所以,就这么多,我得到的专栏比我预期的要多……任何人都可以帮助我吗?非常感谢