我正在使用cassandra 1.1.4和Hector 1.0.2,并且得到了一个columfamily定义,该定义映射到xls文档,并且我们希望从中存储数据,如下所示:

create table test(
firstId int,
secondId varchar,
somedata varchar,
moredata varchar,
PRIMARY KEY (firstId, secondId));


这是用户的要求,但是我该如何在Hector中对此建模。目前,我可以将Mutator的addInsertion(Key k, String cf, HColumn<N,V> sc)用于单个键,但是有什么方法可以使用两个主键和不同的数据类型呢?

即使无法使用赫克托(Hector),也可以提供其他帮助。

提前致谢。

最佳答案

Cassandra是键值数据库。它不能有两个键。它可以拥有一个复合密钥,它可以由您的两个所谓的“主密钥”组成。例如,如果其中之一是Integer,其中之一是Long,则可以像这样构造键(Pelops)

Bytes.composite()
   .addInt(firstKeyVal)
   .addLong(secondKeyVal)
.build();


使用纯Thrift,您可以完全相同。
在hector中,您可能会受到某种限制,因为您无法轻松实现复合键。但是,这是可能的。我链接到它:

How to define composite key for a column family and then reference it using Hector?

09-25 20:14