2012-05-19 1 views

답변

1

삭제하려는 열을 얻으려면 먼저 열 슬라이스를 수행 한 다음 루프백하고 돌연변이 목록을 생성해야합니다. 그런 다음 한 헥터 전화로이 모든 돌연변이를 카산드라에게 보낼 수 있습니다.

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(); 
+0

지금 다른 문제가 있습니다. 단일 열을 삭제하기를 원한다면 여전히 초 고해상도 쿼리를 사용해야합니까? 상당히 비싸다고 생각합니까? – tom

+0

키를 이미 알고있는 경우 단순히 각 키에 하나씩 돌연변이 목록을 만들고 열 이름을 제공하면됩니다 (위의 대답과 동일). 키를 모른다면 RangeSlicesQuery를 원할 것입니다. 여기에서는 setReturnKeysOnly()를 호출하여 모든 것을 되돌릴 수 있습니다. –

+0

또한 SC를 복합 소재로 대체하는 방법을 조사해야한다는 점도 유의할 가치가 있습니다. 복합 열에 대한 자세한 내용은 [이 기사] (http://www.datastax.com/dev/blog/introduction-to-composite-columns-part-1)를 참조하십시오. –