incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Hanna <jeremy.hanna1...@gmail.com>
Subject Re: pig counting question
Date Fri, 25 Mar 2011 18:06:09 GMT
One thing I wonder though - if your columns are the thing that are increasing your heap size
and eating up a lot of memory, and you're reading the data structure out as a bag of columns,
why isn't pig spilling to disk instead of growing in memory.  The pig model is that you can
have huge bags that don't kill you on memory but they are just slower because they spill to
disk.  What is the schema that you impose when you load the data?

On Mar 24, 2011, at 3:57 PM, Jeffrey Wang wrote:

> It looks like this functionality is not in the 0.7.3 version of CassandraStorage. I tried
to add the constructor which takes the limit to the class, but I ran into some Pig parsing
errors, so I had to make the parameter a string. How did you get around this for the version
of CassandraStorage in trunk? I'm running Pig 0.8.0.
> 
> Also, when I bump the limit up very high (e.g. 1M columns), my Cassandra starts eating
up huge amounts of memory, maxing out my 16GB heap size. I suspect this is because of the
get_range_slices() call from ColumnFamilyRecordReader. Are there plans to make this streaming/paged?
> 
> -Jeffrey
> 
> -----Original Message-----
> From: Jeremy Hanna [mailto:jeremy.hanna1234@gmail.com] 
> Sent: Thursday, March 24, 2011 11:34 AM
> To: user@cassandra.apache.org
> Subject: Re: pig counting question
> 
> The limit defaults to 1024 but you can set it when you use CassandraStorage in pig, like
so:
> rows = LOAD 'cassandra://Keyspace/ColumnFamily' USING CassandraStorage(4096);
> or whatever value you wish.
> 
> Give that a try and see if it gives you more of what you're looking for.
> 
> On Mar 24, 2011, at 1:16 PM, Jeffrey Wang wrote:
> 
>> Hey all,
>> 
>> I'm trying to run a very simple Pig script against my Cassandra cluster (5 nodes,
0.7.3). I've gotten it all set up and working, but the script is giving me some strange results.
Here is my script:
>> 
>> rows = LOAD 'cassandra://Keyspace/ColumnFamily' USING CassandraStorage();
>> rowct = FOREACH rows GENERATE $0, COUNT($1);
>> dump rowct;
>> 
>> If I understand Pig correctly, this should output (row name, column count) tuples,
but I'm always seeing 1024 for the column count even though the rows have highly variable
number of columns. Am I missing something? Thanks.
>> 
>> -Jeffrey
>> 
> 


Mime
View raw message