On Jun 4, 2010, at 4:46 PM, Jonathan Ellis wrote:
> get_slice reads a single row. do you mean there are 23,000 columns,
> or are you running get_slice in a loop 23000 times?
Hi Jonathan, thanks for answering!
No, I do only one get_slice call.
There are 23.000 SUPER columns, which I read using get_slice with ColumnParent
parameter set to only CF name (Dashboard) and a SlicePredicate, that has "" for
begin on super column name and "" for end on super column name.
So, I do one single get_slice to get all the super-columns. This is the thrift
call, that takes approx. 6-8 secs.
I then iterate over this after the call, to extract columns for each
super-column, but that is not in my timings and it also performs no thrift
calls.
Like this:
>> ColumnParent parent = new ColumnParent("Dashboard");
>>
>> SlicePredicate predicate = new SlicePredicate();
>> SliceRange sliceRange = new SliceRange();
>> sliceRange.setCount(Integer.MAX_VALUE);
>> sliceRange.setStart(toRawValue(""));
>> sliceRange.setFinish(toRawValue(""));
>> predicate.setSlice_range(sliceRange);
>>
>> // timing this takes 6-8 secs.
>> return client.get_slice(
>> "keyspace",
>> "theusername",
>> columnParent,
>> slicePredicate,
>> ConsistencyLevel.QUORUM
>> );