gpt4 book ai didi

java - 按顺序从 Cassandra 检索结果

转载 作者:太空宇宙 更新时间:2023-11-04 08:07:35 25 4
gpt4 key购买 nike

我已将数据存储在 Cassandra 数据库的 ComparatorType.BYTESTYPE 中。现在我想按存储顺序检索数据。

我在Hector中使用了以下代码来获取数据,但是查询结果似乎没有排序。

Keyspace keyspace = HFactory.createKeyspace("ClusterName", cluster);

Map<String, String> resultMap = new HashMap<String, String>();

SliceQuery<String, String, String> query = HFactory.createSliceQuery(keyspace, StringSerializer.get(), StringSerializer.get(), StringSerializer.get());
query.setColumnFamily("ColumnFamilyName").setKey("RowKey")
.setRange("", "", false, Integer.MAX_VALUE);
QueryResult<ColumnSlice<String, String>> result = query.execute();

for (HColumn<String, String> column : result.get().getColumns()) {
resultMap.put(column.getName(), column.getValue());
}

我错过了什么?我必须使用 RangeSliceQueries 和 OrderedRows 吗?

提前致谢。

最佳答案

这完全取决于您为列名称设置的比较器。如果它也是 BytesType(cassandra 的默认值),那么它不会是您期望的顺序。

如果您想要按字母顺序排列,您应该使用 cassandra-cli 中类似的内容来定义表:

使用比较器 = UTF8Type 创建列族 ColumnFamilyName;

或者你也许还有时间去做

使用比较器 = UTF8Type 更新列族 ColumnFamilyName;

关于java - 按顺序从 Cassandra 检索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11824519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com