任何人都可以提供一個清晰的例子,說明如何使用thrift刪除Java中的超列?如何使用java/thrift刪除超列
編輯:找到一個解決方案,這允許我刪除任何數量的超級列,我想在一個批處理變異。
List<Mutation> mutations = new ArrayList<Mutation>();
Map<String, List<Mutation>> keyMutations = new HashMap<String, List<Mutation>>();
Map<ByteBuffer, Map<String, List<Mutation>>> mutationsMap = new HashMap<ByteBuffer, Map<String, List<Mutation>>>();
try {
tr.open();
client.set_keyspace("my_keyspace");
Deletion deletion = new Deletion();
SlicePredicate slicePredicate = new SlicePredicate();
List<ByteBuffer> columns = new ArrayList<ByteBuffer>();
// Add as many supercolumns as you want here
columns.add(toByteBuffer("supercolumn_name"));
slicePredicate.setColumn_names(columns);
deletion.setPredicate(slicePredicate);
// timestamp in microseconds
deletion.setTimestamp(System.currentTimeMillis() * 1000);
Mutation m = new Mutation();
m.setDeletion(deletion);
mutations.add(m);
keyMutations.put("column_family_name", mutations);
mutationsMap.put(toByteBuffer("row_id_in_column_family"), keyMutations);
client.batch_mutate(mutationsMap, ConsistencyLevel.ONE);
} catch (Exception e) {
e.printStackTrace();
} finally {
tr.flush();
tr.close();
}
權,行刪除不符合節儉一個問題,你的問題是如何刪除列的家庭?OK剛纔看到您的評論上面,在這種情況下,就這樣做,所有其他客戶端也擴展Thrift,因此應該可以使用Thrift刪除CF – 2012-06-15 10:44:06