Unfortunately you can use column ranges for delete operations. 

So while what you want to do is something like...

Delete 'Jack:*:*'...'Jack:*:*' from Test where KEY = "friends";

You cannot do it. 

You need to read and then delete by name.

Cheers

-----------------
Aaron Morton
Freelance Developer
@aaronmorton
http://www.thelastpickle.com

On 23/02/2012, at 8:08 PM, Praveen Baratam wrote:

> More precisely,
> 
> Lets say we have a CF with the following spec.
> 
> create column family Test
>     with comparator = 'CompositeType(UTF8Type,UTF8Type,UTF8Type)'
>     and key_validation_class = 'UTF8Type'
>     and default_validation_class = 'UTF8Type';    
> 
> And I have columns such as:
> 
> Jack:Name:First - Jackson
> Jack:Name:Last -  Samuel
> Jack:Age - 50
> 
> Now To delete all columns related to Jack, I need to use as far as I can 
> comprehend
> 
> Delete 'Jack:Name:First', 'Jack:Name:Last', 'Jack:Age' from Test where KEY = 
> "friends";
> 
> The problem is we do not usually know what meta-data is associated with a 
> user as it may include Timestamp based columns.
> 
> such as: Jack:1234567890:Location - Chicago
> 
> Can something like -
> 
> Delete 'Jack' from Test where KEY = "friends";
> 
> be done using the First N components of the CompositeType?
> 
> Or should we read first and then delete?
> 
> Thank You.
> 
> On Thu, Feb 23, 2012 at 4:47 AM, Praveen Baratam <[email protected]> 
> wrote:
> I am using CompositeType columns and its very convenient to query for a range 
> of columns using the First N components but how do I delete a range of 
> columns using the First N components of the CompositeType column.
> 
> In order to specify the exact column names to delete, I would have to read 
> first and then delete.
> 
> Is there a better way?
> 

Reply via email to