2

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

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

这是用户需要的,但我如何在 Hector 中建模。目前我可以将 MutatoraddInsertion(Key k, String cf, HColumn<N,V> sc)用于单个键,但是有没有办法使用两个主键和不同的数据类型来做到这一点?

任何帮助表示赞赏,即使不可能使用赫克托然后其他东西。

提前致谢。

4

2 回答 2

0

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

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

使用纯 Thrift,您可以做同样的事情。实际上,您可能会受到一些限制,因为您无法轻松实现复合键。但是,这是可能的。我链接到它:

如何为列族定义复合键,然后使用 Hector 引用它?

于 2012-09-21T13:08:43.663 回答
0

使用 CompositeType -如何为列族定义复合键,然后使用 Hector 引用它?

你的行键看起来像:firstId:secondId

于 2012-09-26T07:52:31.313 回答