2011-10-24 26 views
2

目前,增強器似乎只適用於標準比較。有沒有其他的方法可以在super cf的子列上執行incrementCounter?赫克託爲超級cf的子列做增量計算器

+0

我看着在GitHub上的測試案例,沒發現任何相關的。我擁有的基本想法是每個月都有計數器,例如用戶。通過這樣做,一種方法是創建超級列族,按用戶標識鍵,超級列爲時間戳,然後將子列作爲計數器。 Cassandra wiki表示支持它,但到目前爲止我還沒有辦法使用Hector API。誰能幫忙? – tom

回答

4

一小片的代碼將增加一個superColumn

與字符串鍵,supernames和名稱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();