我想在一张table上运行这样的查询:
SELECT count(*) FROM mytable WHERE token(_id) >= -9220405531215751472 AND token(_id) < -9215701564955960000 AND state=true ALLOW FILTERING;
我读了一系列的代币 metadata.getTokenMap()
然后 tokenMap.getTokenRanges()
. 但它将开始和结束标记作为标记对象(例如,murruit3token(9187337865070158013))!如何将其转换为long或string以便在查询中使用:
CqlSession session = builder.build();
Metadata metadata = session.getMetadata();
if (metadata.getTokenMap().isPresent()) {
TokenMap tokenMap = metadata.getTokenMap().get();
for(TokenRange range : tokenMap.getTokenRanges()) {
System.out.println(range.getStart()); // output Murmur3Token(9187337865070158013)
}
}
1条答案
按热度按时间mfpqipee1#
我发现我可以转换它!它必须转换为
Murmur3Token
显式和调用getValue
方法。