Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # user >> hbase many-to-many design

Copy link to this message
Re: hbase many-to-many design
Hi Jong

You can add a new column unannounced. This means your current 'put' does not have to recall which other columns are already present in  the row or for that matter, in the table. You just issue a put command as if it was your first one, and the column will be added.

Unlike rdbms, There are no update or alter table commands You need to execute to add a new column.

If the column you are adding already existed,then a new version of value you put, is stored.

i Sent from my iPad with iMstakes

On Aug 23, 2012, at 21:34, "jing wang" <[EMAIL PROTECTED]> wrote:

> Hi Sonal,
>   Thanks for your reply.
>   How to add a new column to the existing columnFamily?The method I want
> to try is using 3 steps, first get the record, construct a new put, using
> the reocrd's( getted before) columnFamily2, then delete the old record in
> Hbase, finally put the new constructed 'put' into Hbase.I really don't
> think this is a good way.
>   if another 'put', including a new column is put to Hbase, this is a
> 'update' action or another version?
>   Would you please give me some reference for adding a column to a row?
> Thanks & Best Regards
> Mike
> 2012/8/24 Sonal Goyal <[EMAIL PROTECTED]>
>> If you are you adding a new column to the team column family, I dont think
>> multi version comes into picture. Multi Versioning is saving copies of
>> values of a particular cell, but you are creating a new cell within the
>> same row.
>> Best Regards,
>> Sonal
>> Crux: Reporting for HBase <https://github.com/sonalgoyal/crux>
>> Nube Technologies <http://www.nubetech.co>
>> <http://in.linkedin.com/in/sonalgoyal>
>> On Fri, Aug 24, 2012 at 8:07 AM, jing wang <[EMAIL PROTECTED]
>>> wrote:
>>> Hi 'user',
>>>     This is a many-to-many question, I also infer the hbase design FAQ,
>>> http://wiki.apache.org/hadoop/Hbase/FAQ_Design.
>>>     What I want to do is desinging a 'user' table, incluing 'user' basic
>>> infomations(columnFamily1), and team-name 'user' joined
>> in(columnFamily2),
>>>     When a user join in a new Team, I want to update the 'user' table to
>>> add a column to 'columnFamily2'. So when getting the user , I get all the
>>> team-names the user join in.
>>>     Yet I don't want to put duplicate records, known as multi-versions,
>>> each user has only one record.
>>>     What should I do?
>>>    Any advice will be appreciated!
>>> Thanks & Best Regards
>>> Mike