Cassandra 带复合键的Astyanax getKey

Cassandra 带复合键的Astyanax getKey,cassandra,counter,astyanax,cql3,compound-key,Cassandra,Counter,Astyanax,Cql3,Compound Key,我想用复合主键运行以下代码 Column<String> result = keyspace.prepareQuery(CF_COUNTER1) .getKey(rowKey) .getColumn("Column1") .execute().getResult(); Long counterValue = result.getLongValue(); Column result=keyspace.prepareQuery(CF_COUNTER1) .get

我想用复合主键运行以下代码

Column<String> result = keyspace.prepareQuery(CF_COUNTER1)
    .getKey(rowKey)
    .getColumn("Column1")
    .execute().getResult();
Long counterValue = result.getLongValue();
Column result=keyspace.prepareQuery(CF_COUNTER1)
.getKey(rowKey)
.getColumn(“Column1”)
.execute().getResult();
Long counterValue=result.getLongValue();

研究似乎表明,它可以是一个表示键的字符串(如果它不是复合主键的话)。说它是
K
,唉,我对Java不是很有经验,也不知道这意味着什么。它只是一个基本类型,很多东西都是从它继承的吗?如果是这样的话,我就不知道处理复合键需要什么了。

您只需要编写一个适合数据模型中列的类。然后,您可以在突变或查询中将该类交给Astyanax

例如,如果您有这样一个数据模型

   CREATE TABLE fishblogs (
        userid varchar,
        when timestamp,
        fishtype varchar,
        blog varchar,
        image blob,
        PRIMARY KEY (userid, when, fishtype)
    );
您将创建一个如下所示的类:

   public class FishBlog {
      @Component(ordinal = 0)
      public long when;
      @Component(ordinal = 1)
      public String fishtype;
      @Component(ordinal = 2)
      public String field;

      public FishBlog() {
      }
   }
When和fishtype构成复合列键,并由FishBlog类表示。Userid是您的行/分区键,可以是简单的“string”类型

看看如何使用复合键插入数据(我从中获取了这个示例)

希望有帮助