Java 如何更新cassandra以增加列数

Java 如何更新cassandra以增加列数,java,cassandra,hector,Java,Cassandra,Hector,我在我的项目中使用cassandra,并使用hector连接cassandra,我在我的键空间中定义了一个列族用户,并且在用户中有一个列名“声誉”,现在我想增加用户的声誉,怎么办?您能帮助我吗?您可以创建带计数器的列族: ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition(keyspaceName, "UserCounters"); cfDef.setKeyValidationClass(ComparatorT

我在我的项目中使用cassandra,并使用hector连接cassandra,我在我的键空间中定义了一个列族用户,并且在用户中有一个列名“声誉”,现在我想增加用户的声誉,怎么办?您能帮助我吗?

您可以创建带计数器的列族:

ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition(keyspaceName, "UserCounters");
cfDef.setKeyValidationClass(ComparatorType.UTF8TYPE.getClassName());
cfDef.setComparatorType(ComparatorType.UTF8TYPE);
cfDef.setDefaultValidationClass(ComparatorType.COUNTERTYPE.getClassName());
cfDef.setColumnType(ColumnType.STANDARD);
cfDef.setKeyspaceName(keyspaceName);
然后,无论何时,只要你想增加用户的声誉,你就可以增加它

int amountToIncrease = 1;
HCounterColumn<String> hcol = HFactory.createCounterColumn("reputation", amountToIncrease);
Mutator<String> mutator = HFactory.createMutator(keyspace, StringSerializer.get()); 
mutator.addCounter("Bob Smith", "UserCounters", hcol);
mutator.execute();
int amountToIncrease=1;
HCCounterColumn hcol=HFactory.createCounterColumn(“声誉”,金额增加);
Mutator Mutator=HFactory.createMutator(键空间,StringSerializer.get());
mutator.addCounter(“Bob Smith”,“UserCounters”,hcol);
mutator.execute();
这样,每个用户都有一行,其中有一个信誉计数器

UserCounters {
  username: {
    reputation: <counter>
  },
  username2: {
    reputation: <counter>
  }
}
用户计数器{
用户名:{
声誉:
},
用户名2:{
声誉:
}
}
然后,如果您想为该用户添加其他计数器(如“评论”或“页面浏览”或其他内容),您可以轻松地添加它