Search code examples
cassandrahector

Hector to do incrementCounter for the subcolumn of a super cf


Currently the mutator seems only works against standard cf. Is there any other approach to go with to do incrementCounter on a subcolumn of a super cf?


Solution

  • A little piece of code to increment counters of a superColumn

    With SuperColumns with String keys, supernames and names...

    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();