【问题标题】:Hector to do incrementCounter for the subcolumn of a super cfHector 为 super cf 的子列做 incrementCounter
【发布时间】:2011-12-13 20:09:32
【问题描述】:

目前,mutator 似乎只适用于标准 cf。是否有任何其他方法可以在超级 cf 的子列上执行 incrementCounter?

【问题讨论】:

  • 我查看了github上的测试用例,没有找到相关的。我的基本想法是按月为每个用户设置计数器。通过这样做,一种方法是创建按用户 ID 的超级列族键,超级列作为时间戳,然后将子列作为计数器。 Cassandra wiki 说它是受支持的,但到目前为止我发现没有办法使用 Hector API 这样做。有人可以帮忙吗?

标签: cassandra hector


【解决方案1】:

一小段代码用于增加超级列的计数器

使用带有字符串键、超名和名称的 SuperColumns...

String key = "keyOfRow"; 
    String superColumnFamily = "foo"; 
    String superColumnName ="bar"; 
    StringSerializer ss = StringSerializer.get(); 
    // let's insert a couple of counter columns in a superColumn 
    String columnName1="aaa"; 
    String columnName2="bbb"; 
    List <HCounterColumn<String>> myCounters = new 
ArrayList<HCounterColumn<String>>(); 
    myCounters.add(HFactory.createCounterColumn(columnName1, 1L)); 
    myCounters.add(HFactory.createCounterColumn(columnName2, 42L)); 
    Mutator mutator = HFactory.createMutator(keyspace, 
StringSerializer.get()); 
    mutator.insertCounter(key,superColumnFamily , 
HFactory.createCounterSuperColumn(superColumnName, myCounters, ss, 
ss)); 
mutator.execute();

【讨论】:

    猜你喜欢
    • 2012-02-20
    • 2012-08-18
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2011-10-06
    • 2021-11-26
    • 2011-11-03
    • 1970-01-01
    相关资源
    最近更新 更多