cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivan Chang <ivan.ch...@medigy.com>
Subject Re: Data persistency
Date Thu, 18 Jun 2009 17:12:56 GMT
Using Cassandra.Client works.  However more questions arise, specifically
regarding Super Columns, while the following code persist the super column
"sc1"with 3 simple columns.  How do I create nested super columns?  A super
column with multiple super columns and standard columns?  Thanks, Ivan

            // Super Column
            batch_mutation_super_t bt = new batch_mutation_super_t();
            bt.key = "testkey";
            bt.table = tablename_;
            bt.cfmap = new HashMap<String,List<superColumn_t>>();
            List<superColumn_t> superColumn_arr = new
ArrayList<superColumn_t>();
            List<column_t> column_arr2 = new ArrayList<column_t>();
            column_arr2.add(new column_t("c1", "v1".getBytes(), now));
            column_arr2.add(new column_t("c2", "v2".getBytes(), now));
            column_arr2.add(new column_t("c3", "v3".getBytes(), now));
            superColumn_arr.add(new superColumn_t("sc1", column_arr2));
            bt.cfmap.put("Super1", superColumn_arr);
            peerstorageClient.batch_insert_superColumn(bt, false);

On Wed, Jun 17, 2009 at 5:01 PM, Jonathan Ellis <jbellis@gmail.com> wrote:

> You're using internal APIs.  Don't do that unless you know what you're
> doing. :)
>
> The client API is in Cassandra.Client.
>
> We have some sample code here:
> http://wiki.apache.org/cassandra/ClientExamples
>
> (although none in Java yet, it should still be pretty clear.)
>
> -Jonathan
>
> On Wed, Jun 17, 2009 at 3:54 PM, Ivan Chang<ivan.chang@medigy.com> wrote:
> > I tried to insert and retrieve data from a standalone Java program.
> While I
> > am able to insert and retrieve the correct data from within the Java
> > session.  After I terminate the session, and rerun only the data
> retrieval
> > part, the previous inserted data does not exist anymore, throwing a null
> > exception.  Here's the code:
> >
> >         // Get storage-config file location
> >
> >
> System.out.println("storage-config="+DatabaseDescriptor.getConfigFileName());
> >
> >         // Insert some data with key "partner1"
> >         RowMutation rm = new RowMutation("Table1", "partner1");
> >         ColumnFamily cf = new ColumnFamily("Standard1", "Standard");
> >         long now = Calendar.getInstance().getTimeInMillis();
> >         System.out.println(now);
> >         cf.addColumn("firstname", "John1".getBytes(), now);
> >         cf.addColumn("lastname", "Doe1".getBytes(), now);
> >         rm.add(cf);
> >         try {
> >             rm.apply();
> >         } catch (Exception e) {
> >         }
> >
> >         // Retrieve data for key "partner1"
> >         Table table = Table.open("Table1");
> >
> >         try {
> >             Row result = table.getRow("partner1", "Standard1");
> >             System.out.println(result.toString());
> >             ColumnFamily cres = result.getColumnFamily("Standard1");
> >             Map cols = cres.getColumns();
> >             System.out.println(cols.size());
> >             Set c = cols.keySet();
> >             Iterator it = c.iterator();
> >             while (it.hasNext()) {
> >                 String cn = (String) it.next();
> >                 System.out.println(cn);
> >                 System.out.println(new
> String(cres.getColumn(cn).value()));
> >             }
> >         } catch (Exception e) {
> >             System.out.println("Ex: " + e.getMessage());
> >         }
> >
> > the print out from above is
> >
> > storage-config=~/Cassandra/trunk/conf/storage-conf.xml
> > 1245270260114
> > Row(partner1 [ColumnFamily(Standard1 [firstname:false:5@1245270260114,
> > lastname:false:4@1245270260114]))]
> > 2
> > lastname
> > Doe1
> > firstname
> > John1
> >
> > However, when I commented out the insert part of the above code and try
> > retrieve data again by rerunning the main code, I got an exception:
> >
> > Row(partner1 [)]
> > Ex: null
> >
> > So the data doesn't seem to persist across sessions.
> >
> > Could someone explain what's wrong with the code?
> >
> > Thanks,
> > Ivan
> >
>

Mime
View raw message