cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phil Yang <ud1...@gmail.com>
Subject Re: Creating 'Put' requests
Date Fri, 24 Apr 2015 10:50:20 GMT
2015-04-23 22:16 GMT+08:00 Matthew Johnson <matt.johnson@algomi.com>:
>
> In HBase, we do something like:
>
>         Put put = new Put(id);
>         put.add(myPojo.getTimestamp(), myPojo.getValue());
>         put.add(myPojo.getMySecondTimestamp(), myPojo.getSecondValue());
>         server.put(put);
>
> Is there any similar mechanism in Cassandra Java driver for creating these
> inserts programmatically? Or, can the 'session.execute' take a list of
> commands so that each column can be inserted as its own insert statement
> but
> without the overhead of multiple calls to the server?
>
>

For your first question, do you mean object-mapping API?
http://docs.datastax.com/en/developer/java-driver/2.1/java-driver/reference/crudOperations.html

For the second question, C* can execute several commands by unlogged batch,
however, because of the distributed nature of Cassandra, there is a better
solution, see
https://medium.com/@foundev/cassandra-batch-loading-without-the-batch-keyword-40f00e35e23e




> Thanks!
> Matt
>
>
> -----Original Message-----
> From: Jim Witschey [mailto:jim.witschey@datastax.com]
> Sent: 23 April 2015 14:46
> To: user@cassandra.apache.org
> Subject: Re: Creating 'Put' requests
>
> Are prepared statements what you're looking for?
>
>
> http://docs.datastax.com/en/developer/java-driver/2.1/java-driver/quick_start/qsSimpleClientBoundStatements_t.html
> Jim Witschey
>
> Software Engineer in Test | jim.witschey@datastax.com
>
>
>
>
>
> On Thu, Apr 23, 2015 at 9:28 AM, Matthew Johnson <matt.johnson@algomi.com>
> wrote:
> > Hi all,
> >
> >
> >
> > Currently looking at switching from HBase to Cassandra, and one big
> > difference so far is that in HBase, we create a ‘Put’ object, add to
> > it a set of column/value pairs, and send the Put to the server. So far
> > in Cassandra 2.1.4 the tutorials seem to suggest using CQL3, which I
> > really like for prototyping eg:
> >
> >
> >
> > session.execute("INSERT INTO simplex.playlists (id, song_id, title,
> > album,
> > artist) VALUES (1,1,'La Petite Tonkinoise','Bye Bye
> > Blackbird','Joséphine Baker');");
> >
> >
> >
> > But for more complicated code this will quickly become unmanageable,
> > and doesn’t lend itself well to dynamically creating row data based on
> > various conditions. Is there a way to send a Java object, populated
> > with the desired column/value pairs, to the server instead of executing
> an
> > insert statement?
> > Would this require some other library, or does the DataStax Java
> > driver support this already?
> >
> >
> >
> > Thanks in advance,
> >
> > Matt
> >
> >
>



-- 
Thanks,
Phil Yang

Mime
View raw message