cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aaron morton <aa...@thelastpickle.com>
Subject Re: Hector + Range query problem
Date Wed, 18 Jan 2012 08:18:05 GMT
Does this help ? 
http://wiki.apache.org/cassandra/FAQ#range_rp

Cheers

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

On 17/01/2012, at 10:58 AM, Philippe wrote:

> Hello,
> I've been trying to retrieve rows based on key range but every single time I test, Hector
retrieves ALL the rows, no matter the range I give it.
> What can I possibly be doing wrong ? Thanks.
> 
> I'm doing a test on a single-node RF=1 cluster (c* 1.0.5) with one column family (I've
added & truncated the CF quite a few times during my tests).
> Each row has a single column whose name is the byte value "2". The keys are 0,1,2,3 (shifted
by a number of bits). The values are 0,1,2,3.
> list in the CLI gives me
> 
> Using default limit of 100
> -------------------
> RowKey: 000000000000000002
> => (column=02, value=00, timestamp=1326750723079000)
> -------------------
> RowKey: 010000000000000002
> => (column=02, value=01, timestamp=1326750723239000)
> -------------------
> RowKey: 020000000000000002
> => (column=02, value=02, timestamp=1326750723329000)
> -------------------
> RowKey: 030000000000000002
> => (column=02, value=03, timestamp=1326750723416000)
> 
> 4 Rows Returned.
> 
> 
> 
> Hector code:
> RangeSlicesQuery<TileKey,Byte,byte[]> query = HFactory.createRangeSlicesQuery(keyspace,
keySerializer, columnNameSerializer, BytesArraySerializer
> .get());
> query.setColumnFamily(overlay).setKeys(keyStart, keyEnd).setColumnNames((byte)2);
> query.execute();  
> 
> 
> The execution log shows
> 
> 
> 1359 [main] INFO  com.sensorly.heatmap.drawing.cassandra.CassandraTileDao  - Range query
from TileKey [overlayName=UNSET, tilex=0, tiley=0, zoom=2] to TileKey [overlayName=UNSET,
tilex=1, tiley=0, zoom=2] => morton codes = [000000000000000002,010000000000000002]
> getFiles() query returned TileKey [overlayName=UNSET, tilex=0, tiley=0, zoom=2] with
1 columns, morton = 000000000000000002
> getFiles() query returned TileKey [overlayName=UNSET, tilex=1, tiley=0, zoom=2] with
1 columns, morton = 010000000000000002
> getFiles() query returned TileKey [overlayName=UNSET, tilex=0, tiley=1, zoom=2] with
1 columns, morton = 020000000000000002
> getFiles() query returned TileKey [overlayName=UNSET, tilex=1, tiley=1, zoom=2] with
1 columns, morton = 030000000000000002
> => ALL rows are returned when I really expect it to only return the 1st one.
> 
> 
> 
> 
> 


Mime
View raw message