如何从Cassandra中的单行检索列列表?

时间:2014-02-05 11:50:59

标签: nosql cassandra hector

以下是我的Cassandra CF的样本。

     column1          column2          column3             ......

第1行:名称:abay,:10 名称:benny,:7 姓名:凯瑟琳,价值:24 ................

ComparatorType:UTF8

如何使用Hector API在单个查询中从此行获取名称('abay','john','peter','allen')的列。 列表中的名称数量可能每次都有所不同。 我知道我可以使用SliceQuery以排序顺序获取它们。 但有些情况下,我需要随机获取数据,如上所述。 请帮助我。

1 个答案:

答案 0 :(得分:0)

根据您的查询,您似乎有两种选择。

  1. 如果您只需要偶尔运行此查询,则可以获取该行的所有列并在客户端上对其进行过滤。如果您最多有几千列,那么偶尔查询就可以了。

  2. 如果您需要经常运行,您需要编写数据,以便您可以使用name作为密钥进行查询。这可能意味着您必须将数据两次写入两个CF,其中一个是您当前的密钥,另一个是按名称。这是一种常见的卡桑德拉战术。