【发布时间】:2014-03-01 20:07:26
【问题描述】:
以下是我的 Cassandra CF 示例。
column1 column2 column3 ......
row1 : name:abay,value:10 name:benny,value:7 姓名:凯瑟琳,价值:24 ....
比较器类型:utf8
如何使用 Hector API 在单个查询中从该行中获取名称为 ('abay'、'john'、'peter'、'allen') 的列。 列表中的姓名数量可能每次都不同。 我知道我可以使用 SliceQuery 将它们按排序顺序排列。 但正如我上面提到的,在某些情况下我需要随机获取数据。 请帮助我。
【问题讨论】:
-
我怀疑您的数据模型不适合您的查询,但从您共享的内容中不清楚。你的钥匙是什么?一个典型的行中存储了多少列?这是您需要对数据执行的唯一查询,还是还有其他查询?
-
实际上,我的正常查询是排序的,可以使用 SliceQuery.setRange() 完成。但在某些情况下,我需要从该行中获取一个随机的列列表。从一行中查询一组随机列会降低性能吗?我正在为此使用分级压实。
-
通常一行有多少列?
-
几百到几千。而且,这个 CF 会有几十万行。