1

我有一个超级列族,随着时间的推移需要删除一系列超级列。我四处搜寻,似乎没有找到使用赫克托的解决方案。有人可以帮忙吗?

4

1 回答 1

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();
于 2012-05-21T16:57:27.870 回答