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