使用hector,如何删除一系列超级列?

时间:2012-05-19 05:08:27

标签: cassandra hector

我有一个超级列系列,其中需要删除一系列超级列。我四处搜索,似乎没有找到使用hector的解决方案。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您必须首先执行列切片以获取要删除的列,然后循环并生成突变列表。然后,您可以通过一个Hector调用将所有这些突变发送到Cassandra:

Mutator<..> mutator = HFactory.createMutator(keyspace, serializer);

SuperSlice<..> result = HFactory.createSuperSliceQuery(keyspace, ... serializers ...)
                                .setColumnFamily(cf)
                                .setKey(key)
                                .setRange("", "", false, Integer.MAX_VALUE)
                                .execute()
                                .get();

for (HSuperColumn<..> col in result.getSuperColumns())
    mutator.addDeletion(key, cf, col.getName(), serializer);

mutator.execute();