Thanks. got it!
On Sat, Jan 8, 2011 at 9:44 PM, Tyler Hobbs <ty...@riptano.com> wrote: > A couple of alternatives off the top of my head: > > 1) A row of supercolumns becomes a row of standard columns with compound > column names. > > 2) A row of N supercolumns becomes N rows of standard columns (with compound > keys if needed); a separate timeline or index replaces the super column > names. > > There might be other data models that work for a specific case, as well. > > - Tyler > > On Sat, Jan 8, 2011 at 3:38 AM, Rajkumar Gupta <rajkumar....@gmail.com> > wrote: >> >> Thanks Tyler & Stu, >> >> Tyler, as the alternatives for large no of subcolumns in a >> supercolumn, what do you suggest ? Like splitting up a >> 'supercolumnFamily' into several 'columnfamilies' ?? What else ? >> >> >> On Sat, Jan 8, 2011 at 2:33 PM, Stu Hood <stuh...@gmail.com> wrote: >> > Raj: the super column indexing is a longstanding issue that we've been >> > considering recently, and would like to fix. >> > See https://issues.apache.org/jira/browse/CASSANDRA-674 >> > >> > On Fri, Jan 7, 2011 at 10:53 PM, Tyler Hobbs <ty...@riptano.com> wrote: >> >> >> >> Not that I'm aware of. There are several other decent alternatives to >> >> large amounts of subcolumns in a supercolumn, so I don't think it's a >> >> high >> >> priority. >> >> >> >> - Tyler >> >> >> >> On Fri, Jan 7, 2011 at 9:59 PM, Rajkumar Gupta <rajkumar....@gmail.com> >> >> wrote: >> >>> >> >>> Hey Tyler, >> >>> >> >>> Is this limitation of supercolumns going to be removed anytime sooner >> >>> ? >> >>> >> >>> Raj >> >>> >> >>> On Fri, Jan 7, 2011 at 8:51 PM, Tyler Hobbs <ty...@riptano.com> wrote: >> >>> > An important bit to read about supercolumn limitations: >> >>> > http://www.riptano.com/docs/0.6/data_model/supercolumns#limitations >> >>> > >> >>> > Don't make supercolumns with a huge number of subcolumns (or a few >> >>> > really >> >>> > large subcolumns) unless you plan to always read all of them at >> >>> > once. >> >>> > >> >>> > - Tyler >> >>> > >> >>> > On Fri, Jan 7, 2011 at 1:27 AM, Arijit Mukherjee >> >>> > <ariji...@gmail.com> >> >>> > wrote: >> >>> >> >> >>> >> Thanx to both of you. I can now go ahead a bit more. >> >>> >> >> >>> >> Arijit >> >>> >> >> >>> >> On 7 January 2011 12:53, Narendra Sharma >> >>> >> <narendra.sha...@gmail.com> >> >>> >> wrote: >> >>> >> > 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." >> >>> >> > >> >>> >> > >> >>> >> >> >>> >> >> >>> >> >> >>> >> -- >> >>> >> "And when the night is cloudy, >> >>> >> There is still a light that shines on me, >> >>> >> Shine on until tomorrow, let it be." >> >>> > >> >>> > >> >> >> > >> > > >