With raw thrift APIs: 1. Fetch column from supercolumn:
ColumnPath cp = new ColumnPath("ColumnFamily"); cp.setSuper_column("SuperColumnName"); cp.setColumn("ColumnName"); ColumnOrSuperColumn resp = client.get(getByteBuffer("RowKey"), cp, ConsistencyLevel.ONE); Column c = resp.getColumn(); 2. Add a new supercolumn: SuperColumn superColumn = new SuperColumn(); superColumn.setName(getBytes("SuperColumnName")); cols = new ArrayList<Column>(); Column c = new Column(); c.setName(name); c.setValue(value); c.setTimestamp(timeStamp); cols.add(c); //repeat above 5 lines for as many cols you want in supercolumn superColumn.setColumns(cols); List<Mutation> mutations = new ArrayList<Mutation>(); ColumnOrSuperColumn csc = new ColumnOrSuperColumn(); csc.setSuper_column(superColumn); csc.setSuper_columnIsSet(true); Mutation m = new Mutation(); m.setColumn_or_supercolumn(csc); m.setColumn_or_supercolumnIsSet(true); mutations.add(m); Map<String, List<Mutation>> allMutations = new HashMap<String, List<Mutation>>(); allMutations.put("ColumnFamilyName", mutations); Map<ByteBuffer, Map<String, List<Mutation>>> mutationMap = new HashMap<ByteBuffer, Map<String, List<Mutation>>>(); mutationMap.put(getByteBuffer("RowKey"), mutations); client.batch_mutate(mutationMap, ConsistencyLevel.ONE); HTH! Thanks, Naren On Thu, Jan 6, 2011 at 10:42 PM, Arijit Mukherjee <ariji...@gmail.com>wrote: > Thank you. And is it similar if I want to search a subcolumn within a > given supercolumn? I mean I have the supercolumn key and the subcolumn > key - can I fetch the particular subcolumn? > > Can you share a small piece of example code for both? > > I'm still new into this and trying to figure out the Thrift APIs. I > attempted to use Hector, but got myself into more confusion. > > Arijit > > On 7 January 2011 11:44, Roshan Dawrani <roshandawr...@gmail.com> wrote: > > > > On Fri, Jan 7, 2011 at 11:39 AM, Arijit Mukherjee <ariji...@gmail.com> > wrote: > >> > >> Hi > >> > >> I've a quick question about supercolumns. > >> EventRecord = { > >> eventKey2: { > >> e2-ts1: {set of columns}, > >> e2-ts2: {set of columns}, > >> ... > >> e2-tsn: {set of columns} > >> } > >> .... > >> } > >> > >> If I want to append another "e2-tsp: {set of columns}" to the event > >> record keyed by eventKey2, do I need to retrieve the entire eventKey2 > >> map, and then append this new row and re-insert eventKey2? > > > > No, you can simply insert a new super column with its sub-columns with > the rowKey that you want, and it will join the other super columns of that > row. > > > > A row have billions of super columns. Imagine fetching them all, just to > add one more super column into it. > > > > > > > > > > > > > -- > "And when the night is cloudy, > There is still a light that shines on me, > Shine on until tomorrow, let it be." >