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."
>>> >
>>> >
>>
>
>

Reply via email to