我们的列名是有目的地选择的,以便它们按照我们想要的顺序返回(键基本上是一个内部序列号)。我们的 rowkeys 是类似的顺序。基本上每天一个行键,当天的所有列都添加到该行。
鉴于此,如何在 Hector 中创建查询以从最近的行中返回最近的列?还是最老的?简而言之,两个最常见的查询是“获取最新条目”和“获取最旧条目”。
不过,我对 Cassandra 或 Hector 还不够熟悉,无法弄清楚正确的查询。它应该看起来像这样?
QueryResult<OrderedRows<String, String, Long>> result =
rangeSlicesQuery.setColumnFamily(cf).setKeys("", "").setRowCount(1).setRange("","",true,1).execute();
由于列名是动态生成的值,我不知道最后一个值或第一个值是什么时候,所以我看不到任何绕过键和列范围的开放式值的方法。希望 Hector/Cassandra 足够聪明,可以快速做到这一点,还是我应该做一些优化?