You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Mohit Anchlia <mo...@gmail.com> on 2012/07/24 22:28:39 UTC

Enabling compression

Is it possible to enable compression on the table on a already existing
table?

Re: Enabling compression

Posted by Mohit Anchlia <mo...@gmail.com>.
On Tue, Jul 24, 2012 at 2:04 PM, Dhaval Shah <pr...@yahoo.co.in>wrote:

> I bet that your compression libraries are not available to HBase.. Run the
> compression test utility and see if it can find LZO
>
> That seems to be the case for SNAPPY. However, I do have snappy installed
and it works with hadoop just fine and HBase is running on the same
cluster. Is there something special I need to do for HBase?

>
> Regards,
> Dhaval
>
>
> ----- Original Message -----
> From: Mohit Anchlia <mo...@gmail.com>
> To: user@hbase.apache.org
> Cc:
> Sent: Tuesday, 24 July 2012 4:39 PM
> Subject: Re: Enabling compression
>
> Thanks! I was trying it out and I see this message when I use COMPRESSION,
> but it works when I don't use it. Am I doing something wrong?
>
>
> hbase(main):012:0> create 't2', {NAME => 'f1', VERSIONS => 1, COMPRESSION
> => 'LZO'}
>
> ERROR: org.apache.hadoop.hbase.client.RegionOfflineException: Only 0 of 1
> regions are online; retries exhausted.
>
> hbase(main):014:0> create 't3', {NAME => 'f1', VERSIONS => 1}
>
> 0 row(s) in 1.1260 seconds
>
>
> On Tue, Jul 24, 2012 at 1:37 PM, Jean-Daniel Cryans <jdcryans@apache.org
> >wrote:
>
> > On Tue, Jul 24, 2012 at 1:34 PM, Jean-Marc Spaggiari
> > <je...@spaggiari.org> wrote:
> > > Also, if I understand it correctly, this will enable the compression
> > > for the new put but will not compresse the actual cells already stored
> > > right? For that, we need to run a major compaction of the table which
> > > will rewrite all the cells and so compact them?
> >
> > Yeah, although you may not want to recompact everything all at once in
> > a live system. You can just let it happen naturally through cycles of
> > flushes and compactions, it's all fine.
> >
> > J-D
> >
>
>

Re: Enabling compression

Posted by Dhaval Shah <pr...@yahoo.co.in>.
I bet that your compression libraries are not available to HBase.. Run the compression test utility and see if it can find LZO


Regards,
Dhaval


----- Original Message -----
From: Mohit Anchlia <mo...@gmail.com>
To: user@hbase.apache.org
Cc: 
Sent: Tuesday, 24 July 2012 4:39 PM
Subject: Re: Enabling compression

Thanks! I was trying it out and I see this message when I use COMPRESSION,
but it works when I don't use it. Am I doing something wrong?


hbase(main):012:0> create 't2', {NAME => 'f1', VERSIONS => 1, COMPRESSION
=> 'LZO'}

ERROR: org.apache.hadoop.hbase.client.RegionOfflineException: Only 0 of 1
regions are online; retries exhausted.

hbase(main):014:0> create 't3', {NAME => 'f1', VERSIONS => 1}

0 row(s) in 1.1260 seconds


On Tue, Jul 24, 2012 at 1:37 PM, Jean-Daniel Cryans <jd...@apache.org>wrote:

> On Tue, Jul 24, 2012 at 1:34 PM, Jean-Marc Spaggiari
> <je...@spaggiari.org> wrote:
> > Also, if I understand it correctly, this will enable the compression
> > for the new put but will not compresse the actual cells already stored
> > right? For that, we need to run a major compaction of the table which
> > will rewrite all the cells and so compact them?
>
> Yeah, although you may not want to recompact everything all at once in
> a live system. You can just let it happen naturally through cycles of
> flushes and compactions, it's all fine.
>
> J-D
>


Re: Enabling compression

Posted by Mohit Anchlia <mo...@gmail.com>.
Thanks! I was trying it out and I see this message when I use COMPRESSION,
but it works when I don't use it. Am I doing something wrong?


hbase(main):012:0> create 't2', {NAME => 'f1', VERSIONS => 1, COMPRESSION
=> 'LZO'}

ERROR: org.apache.hadoop.hbase.client.RegionOfflineException: Only 0 of 1
regions are online; retries exhausted.

hbase(main):014:0> create 't3', {NAME => 'f1', VERSIONS => 1}

0 row(s) in 1.1260 seconds


On Tue, Jul 24, 2012 at 1:37 PM, Jean-Daniel Cryans <jd...@apache.org>wrote:

> On Tue, Jul 24, 2012 at 1:34 PM, Jean-Marc Spaggiari
> <je...@spaggiari.org> wrote:
> > Also, if I understand it correctly, this will enable the compression
> > for the new put but will not compresse the actual cells already stored
> > right? For that, we need to run a major compaction of the table which
> > will rewrite all the cells and so compact them?
>
> Yeah, although you may not want to recompact everything all at once in
> a live system. You can just let it happen naturally through cycles of
> flushes and compactions, it's all fine.
>
> J-D
>

Re: Enabling compression

Posted by Jean-Daniel Cryans <jd...@apache.org>.
On Tue, Jul 24, 2012 at 1:34 PM, Jean-Marc Spaggiari
<je...@spaggiari.org> wrote:
> Also, if I understand it correctly, this will enable the compression
> for the new put but will not compresse the actual cells already stored
> right? For that, we need to run a major compaction of the table which
> will rewrite all the cells and so compact them?

Yeah, although you may not want to recompact everything all at once in
a live system. You can just let it happen naturally through cycles of
flushes and compactions, it's all fine.

J-D

Re: Enabling compression

Posted by Jean-Marc Spaggiari <je...@spaggiari.org>.
Also, if I understand it correctly, this will enable the compression
for the new put but will not compresse the actual cells already stored
right? For that, we need to run a major compaction of the table which
will rewrite all the cells and so compact them?

I'm not 100% sure about that, so it's half a comment, half a question.

2012/7/24, Rob Roland <ro...@simplymeasured.com>:
> Yes.
>
> You'll need to disable the table, then alter it.
>
> disable 'my_table'
> alter 'my_table', {NAME => 'my_column_family', COMPRESSION => 'snappy'}
> enable 'my_table'
>
> You don't enable compression for the whole table - you enable it per column
> family.  (At least this is the case on CDH3's HBase)
>
> On Tue, Jul 24, 2012 at 1:28 PM, Mohit Anchlia
> <mo...@gmail.com>wrote:
>
>> Is it possible to enable compression on the table on a already existing
>> table?
>>
>

Re: Enabling compression

Posted by Rob Roland <ro...@simplymeasured.com>.
Yes.

You'll need to disable the table, then alter it.

disable 'my_table'
alter 'my_table', {NAME => 'my_column_family', COMPRESSION => 'snappy'}
enable 'my_table'

You don't enable compression for the whole table - you enable it per column
family.  (At least this is the case on CDH3's HBase)

On Tue, Jul 24, 2012 at 1:28 PM, Mohit Anchlia <mo...@gmail.com>wrote:

> Is it possible to enable compression on the table on a already existing
> table?
>

Re: Enabling compression

Posted by Jean-Daniel Cryans <jd...@apache.org>.
See http://hbase.apache.org/book.html#changing.compression

J-D

On Tue, Jul 24, 2012 at 1:28 PM, Mohit Anchlia <mo...@gmail.com> wrote:
> Is it possible to enable compression on the table on a already existing
> table?