我正在使用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?