I recommend starting with http://www.rackspacecloud.com/blog/2010/05/12/cassandra-by-example/, then reading the other Recommended articles at http://wiki.apache.org/cassandra/ArticlesAndPresentations
On Fri, Aug 27, 2010 at 3:07 AM, Sean Bowman <pico...@gmail.com> wrote: > Do I not want to get the key to be the UUID, so I can slice based on > timestamp? If so, the only thing the insert statement takes is a String for > a key. Why would I place the UUID into a column value? Doesn't it belong as > the key if I want to be able to slice and sort on it? > > I guess I'm just completely confused about how Cassandra works. All I'm > trying to do is record a history of what' going on in my app, and be able to > pull it out in the order that it happens, similar to the comments example in > the WTF? article. Am I going about this the wrong way? > > On Aug 27, 2010, at 1:51 AM, Benjamin Black wrote: > >> You are using the wrong part of the example. That code sample just >> produces the string representation. Scroll down in that FAQ entry to >> the sample labeled: >> >> "When you want to actually place the UUID into the Column then you'll >> want to convert it like this. This method is often used in conjuntion >> with the getTimeUUID() mentioned above." >> >> >> b >> >> On Fri, Aug 27, 2010 at 12:28 AM, Sean Bowman <pico...@gmail.com> wrote: >>> I'm at my wits end with Cassandra; is 0.6.4 just broken? I've created a >>> very simple keyspace: >>> >>> <Keyspace Name="MyApp"> >>> <ColumnFamily Name="History" CompareWith="TimeUUIDType"/> >>> >>> Using the Thrift sample code for 0.6 on the wiki, and the FAQ about >>> TimeUUID's and Java, I tried to generate a GUID using this method: >>> >>> String key = new com.eaio.uuid.UUID().toString() >>> >>> Since all the Thrift get and insert statements use Strings for the keys. >>> But when I send one of these GUID's, I get: >>> >>> Exception in thread "main" InvalidRequestException(why:UUIDs must be >>> exactly 16 bytes) >>> at >>> org.apache.cassandra.thrift.Cassandra$insert_result.read(Cassandra.java:12295) >>> at >>> org.apache.cassandra.thrift.Cassandra$Client.recv_insert(Cassandra.java:675) >>> at >>> org.apache.cassandra.thrift.Cassandra$Client.insert(Cassandra.java:648) >>> >>> I even tried something like: >>> >>> client.insert(keyspace, new String(asByteArray(getTimeUUID()), path, >>> "Some value".getBytes("UTF-8"), timestamp, ConsistencyLevel.ONE); >>> >>> Can anyone point me in the direction of how I send a time-based UUID to >>> Cassandra 0.6.4 through the Java Thrift client? Or am I missing the point >>> of all of this somehow? > > -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of Riptano, the source for professional Cassandra support http://riptano.com