Another option that may or may not work for you is the support in Cassandra 
1.1+ to use a secondary index as an input to your mapreduce job.  What you 
might do is add a field to the column family that represents which virtual 
column family that it is part of.  Then when doing mapreduce jobs, you could 
use that field as the secondary index limiter.  Secondary index mapreduce is 
not as efficient since you first get all of the keys and then do multigets to 
get the data that you need for the mapreduce job.  However, it's another option 
for not scanning the whole column family.

On Oct 2, 2012, at 10:09 AM, Ben Hood <0x6e6...@gmail.com> wrote:

> On Tue, Oct 2, 2012 at 3:37 PM, Brian O'Neill <boneil...@gmail.com> wrote:
>> Exactly.
> 
> So you're back to the deliberation between using multiple CFs
> (potentially with some known working upper bound*) or feeding your map
> reduce in some other way (as you decided to do with Storm). In my
> particular scenario I'd like to be able to do a combination of some
> batch processing on top of less frequently changing data (hence why I
> was looking at Hadoop) and some real time analytics.
> 
> Cheers,
> 
> Ben
> 
> (*) Not sure whether this applies to an individual keyspace or an
> entire cluster.

Reply via email to