我正在尝试删除超级列族的子列。我尝试了以下代码,但是当超级列族具有许多超级列时,它将无效,它只返回部分超级列。
SuperCfResult<UUID, Long, UUID> superCfResult = sTemplate.querySuperColumns(key);
Collection<Long> supercolumns = superCfResult.getSuperColumns();
另一种方法是构建一个SuperSliceQuery,其范围将返回所有超级列,然后循环查找匹配并删除它的那个。它的工作原理,但它肯定是矫枉过正,并具有性能成本。
有没有更好的解决方案?
答案 0 :(得分:2)
Mutator mutator = HFactory.createMutator(keyspace, key_serializer);
mutator.addSubDelete(key, column_family, supercol, subcol, super_serializer, sub_serializer);
mutator.execute();