[ 
https://issues.apache.org/jira/browse/HBASE-3691?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030661#comment-13030661
 ] 

Nicholas Telford commented on HBASE-3691:
-----------------------------------------

Thanks Nichole, without your patch to HColumnDescriptor it wasn't possible to 
use snappy. I'd only tested it using CompressionTest, which I see now is not a 
complete enough test: it only tests that compression on an HFile works, not 
that Column Families can use it.

One thing that does concern me: it seems as though in your patch the Algorithm 
implementation for SNAPPY has moved places in the enum. From the comments it 
sounds like it should be added as the _last_ implementation to avoid breaking 
HFiles compressed with the other implementations. This looks like it may just 
be a merge glitch when you first applied my patch.

Using Nichole's patch, the steps to getting Snappy working are currently:

# Install hadoop-snappy using these instructions: 
http://code.google.com/p/hadoop-snappy/
# You need to ensure the hadoop-snappy libs (incl. the native libs) are in the 
HBase classpath. Unless there are any other recommendations, I just symlinked 
the libs from HADOOP_HOME/lib to HBASE_HOME/lib. This needs to be done on all 
HBase nodes, as with LZO.
# Use CompressionTest to verify snappy support is enabled and the libs can be 
loaded: 
    bq. $ hbase org.apache.hadoop.hbase.util.CompressionTest 
hdfs://host/path/to/hbase snappy
# Create a column family with snappy compression and verify it:
    {quote}$ hbase shell
    > create 't1', \{ NAME => 'cf1', COMPRESSION => 'snappy' \}
    > describe 't1'{quote}

    In the output of the "describe" command, you need to ensure it lists 
"COMPRESSION => 'snappy'"

> Add compressor support for 'snappy', google's compressor
> --------------------------------------------------------
>
>                 Key: HBASE-3691
>                 URL: https://issues.apache.org/jira/browse/HBASE-3691
>             Project: HBase
>          Issue Type: Task
>            Reporter: stack
>            Priority: Critical
>             Fix For: 0.92.0
>
>         Attachments: hbase-snappy-3691-trunk-002.patch, 
> hbase-snappy-3691-trunk-003.patch, hbase-snappy-3691-trunk.patch
>
>
> http://code.google.com/p/snappy/ is apache licensed.
> bq. Snappy is a compression/decompression library. It does not aim for 
> maximum compression, or compatibility with any other compression library; 
> instead, it aims for very high speeds and reasonable compression. For 
> instance, compared to the fastest mode of zlib, Snappy is an order of 
> magnitude faster for most inputs, but the resulting compressed files are 
> anywhere from 20% to 100% bigger. On a single core of a Core i7 processor in 
> 64-bit mode, Snappy compresses at about 250 MB/sec or more and decompresses 
> at about 500 MB/sec or more.
> bq. Snappy is widely used inside Google, in everything from BigTable and 
> MapReduce to our internal RPC systems. (Snappy has previously been referred 
> to as "Zippy" in some presentations and the likes.)
> Lets get it in.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to