Using the methods on the Bytes class would be preferable. The byte[] related methods on UuidHelper should have been deprecated with the Bytes class was introduced...
e.g. new Bytes(col.getName()).toUuid() Cheers, Dan On Thu, Dec 2, 2010 at 10:26 AM, Frank LoVecchio <fr...@isidorey.com> wrote: > Actually, it was a class issue at this line: > > System.*out*.println("NAME: " + UUID.*nameUUIDFromBytes*(col.getName())); > > The native Pelops class timeUuidHelper is what should be used. > > On Wed, Dec 1, 2010 at 4:16 PM, Aaron Morton <aa...@thelastpickle.com>wrote: > >> When you say "I want to get rows starting from a Super Column..." it's a >> bit confusing. Do you want to get super columns from a single row, or >> multiple rows? I'm assuming you are talking about getting columns from a >> single row / key as that's what your code does. >> >> For the pelops code, it looks OK but I've not used Pelops. You can turn >> the logging up on the server and check the command that is sent to it. I'm >> would guess there is something wrong with the way you are transforming the >> start key >> >> For your cli example what was the command you executed ? >> >> Aaron >> >> On 02 Dec, 2010,at 11:03 AM, Frank LoVecchio <fr...@isidorey.com> wrote: >> >> Hey Aaron, >> >> >> Yes, in regards to SCF definition, you are correct: >> >> >> name: Sensor >> >> column_type: Super >> >> compare_with: TimeUUIDType >> >> gc_grace_seconds: 864000 >> >> keys_cached: 10000.0 >> >> read_repair_chance: 1.0 >> >> rows_cached: 0.0 >> >> I'm not quite sure I follow you, though, as I think I'm doing what you >> specify. The Pelops code is below. Basically, I want to get rows >> starting from a Super Column with a specific UUID and limit the number, just >> as you inferred. When I run this code I just get the last N values (25 in >> this case) if non-reversed, and the first N values if reversed. However, >> regardless of what start param we use (Super Column UUID is String startKey >> below), we still get the same values for the specified amount (e.g. the same >> 25). >> >> *public* *void* getSuperRowKeys(String rowKey, String columnFamily, *int* >> limit, >> String startKey) *throws* Exception { >> >> *byte*[] byteArray = UuidHelper.*timeUuidStringToBytes*(startKey); >> >> ByteBuffer bb = ByteBuffer.*wrap*(byteArray); >> >> *new* UUID (bb.getLong(), bb.getLong()); >> >> List<SuperColumn> cols = >> selector.getPageOfSuperColumnsFromRow(columnFamily, >> rowKey, Bytes.*fromByteBuffer*(bb), *false*, limit, ConsistencyLevel.*ONE >> *); >> >> >> *for* (SuperColumn col : cols) { >> >> *if* (col.getName() != *null*) { >> >> >> System.*out*.println("NAME: " + UUID.*nameUUIDFromBytes* >> (col.getName())); >> >> >> *for* (Column c : col.columns) { >> >> System.*out*.println("\t\tName: " + Bytes.*toUTF8*(c.getName()) >> >> + " Value: " + Bytes.*toUTF8*(c.getValue()) >> >> + " timestamp: " + c.timestamp); >> >> >> } >> >> >> } >> >> } >> >> >> } >> >> Here is some example data from the CLI. If we specify >> 2f814d30-f758-11df-2f81-4d30f75811df >> as the start param (second super column down), we still get >> 52e6540-f759-11df-952e-6540f75911df >> (first super column) returned. >> >> => (super_column=952e6540-f759-11df-952e-6540f75911df, >> (column=64617465, >> value=323031302d31312d32332032333a32393a30332e303030, >> timestamp=1290554997141000) >> (column=65787472615f696e666f, value=6e6f6e65, >> timestamp=1290554997141000) >> (column=726561736f6e, value=6e6f6e65, timestamp=1290554997141000) >> (column=7365636f6e64735f746f5f6e657874, value=373530, >> timestamp=1290554997141000) >> (column=73657269616c, value=393135353032353731, >> timestamp=1290554997141000) >> (column=737461747573, value=5550, timestamp=1290554997141000) >> (column=74797065, value=486561727462656174, >> timestamp=1290554997141000)) >> => (super_column=2f814d30-f758-11df-2f81-4d30f75811df, >> (column=64617465, >> value=323031302d31312d32332032333a31393a30332e303030, >> timestamp=1290554397060000) >> (column=65787472615f696e666f, value=6e6f6e65, >> timestamp=1290554397060000) >> (column=726561736f6e, value=6e6f6e65, timestamp=1290554397060000) >> (column=7365636f6e64735f746f5f6e657874, value=373530, >> timestamp=1290554397060000) >> (column=73657269616c, value=393135353032353731, >> timestamp=1290554397060000) >> (column=737461747573, value=5550, timestamp=1290554397060000) >> (column=74797065, value=486561727462656174, >> timestamp=1290554397060000)) >> => (super_column=7c959f00-f757-11df-7c95-9f00f75711df, >> (column=64617465, >> value=323031302d31312d32332032333a31343a30332e303030, >> timestamp=1290554096881000) >> (column=65787472615f696e666f, value=6e6f6e65, >> timestamp=1290554096881000) >> (column=726561736f6e, value=6e6f6e65, timestamp=1290554096881000) >> (column=7365636f6e64735f746f5f6e657874, value=373530, >> timestamp=1290554096881000) >> (column=73657269616c, value=393135353032353731, >> timestamp=1290554096881000) >> (column=737461747573, value=5550, timestamp=1290554096881000) >> (column=74797065, value=486561727462656174, >> timestamp=1290554096881000)) >> => (super_column=c9be6330-f756-11df-c9be-6330f75611df, >> (column=64617465, >> value=323031302d31312d32332032333a30393a30332e303030, >> timestamp=1290553796836000) >> (column=65787472615f696e666f, value=6e6f6e65, >> timestamp=1290553796836000) >> (column=726561736f6e, value=6e6f6e65, timestamp=1290553796836000) >> (column=7365636f6e64735f746f5f6e657874, value=373530, >> timestamp=1290553796836000) >> (column=73657269616c, value=393135353032353731, >> timestamp=1290553796836000) >> (column=737461747573, value=5550, timestamp=1290553796836000) >> (column=74797065, value=486561727462656174, >> timestamp=1290553796836000)) >> => (super_column=17108150-f756-11df-1710-8150f75611df, >> (column=64617465, >> value=323031302d31312d32332032333a30343a30332e303030, >> timestamp=1290553497067000) >> (column=65787472615f696e666f, value=6e6f6e65, >> timestamp=1290553497067000) >> (column=726561736f6e, value=6e6f6e65, timestamp=1290553497067000) >> (column=7365636f6e64735f746f5f6e657874, value=373530, >> timestamp=1290553497067000) >> (column=73657269616c, value=393135353032353731, >> timestamp=1290553497067000) >> (column=737461747573, value=5550, timestamp=1290553497067000) >> (column=74797065, value=486561727462656174, >> timestamp=1290553497067000)) >> => (super_column=641da730-f755-11df-641d-a730f75511df, >> (column=64617465, >> value=323031302d31312d32332032323a35393a30332e303030, >> timestamp=1290553196836000) >> (column=65787472615f696e666f, value=6e6f6e65, >> timestamp=1290553196836000) >> (column=726561736f6e, value=6e6f6e65, timestamp=1290553196836000) >> (column=7365636f6e64735f746f5f6e657874, value=373530, >> timestamp=1290553196836000) >> (column=73657269616c, value=393135353032353731, >> timestamp=1290553196836000) >> (column=737461747573, value=5550, timestamp=1290553196836000) >> (column=74797065, value=486561727462656174, >> timestamp=1290553196836000)) >> => (super_column=4bce9420-f753-11df-4bce-9420f75311df, >> (column=64617465, >> value=323031302d31312d32332032323a34343a30332e303030, >> timestamp=1290552297060000) >> (column=65787472615f696e666f, value=6e6f6e65, >> timestamp=1290552297060000) >> (column=726561736f6e, value=6e6f6e65, timestamp=1290552297060000) >> (column=7365636f6e64735f746f5f6e657874, value=373530, >> timestamp=1290552297060000) >> (column=73657269616c, value=393135353032353731, >> timestamp=1290552297060000) >> (column=737461747573, value=5550, timestamp=1290552297060000) >> (column=74797065, value=486561727462656174, >> timestamp=1290552297060000)) >> >> On Wed, Dec 1, 2010 at 2:25 PM, Aaron Morton <aa...@thelastpickle.com>wrote: >> >>> The Partitioner applies to the row keys, not the columns. Their order is >>> determined by the compare_with and compare_subcolumns_with CF settings >>> >>> So where you say "get the last 25 inserts for a key" I'm translating that >>> into "get the most recent 25 super columns for a row, where the super column >>> names are UUID's and the CF definition has compare_with: TimeUUIDType" >>> >>> You can send a get_slice where the SliceRange has count=25 and >>> reversed=True. If you know the 25th col name you can use it as the start >>> param, and AFAIK the operation would go faster Not sure how this translates >>> into calls against Pelops. >>> >>> This assumes you are using time / v1 UUID's that have an increasing >>> order. >>> >>> Hope that helps. >>> >>> Aaron >>> >>> >>> >>> On 02 Dec, 2010,at 09:19 AM, Frank LoVecchio <fr...@isidorey.com> wrote: >>> >>> Is it possible to perform paginated queries using Random Partitioner in >>> 0.7 with Super Column Families whose Super Columns are UUID's? I don't >>> believe it is, based on this article: >>> http://ria101.wordpress.com/2010/02/22/cassandra-randompartitioner-vs-orderpreservingpartitioner, >>> and my attempts with Pelops. >>> >>> Let's say I get the last 25 inserts for a key. I now know the 25th Super >>> Column UUID, and I want to start from there and get the next 25 inserts. Do >>> I have to change over to Order Preserving Partitioner? I'd like to avoid >>> this at all costs. >>> >>> Thanks, >>> >>> Frank >>> >>> >> >