b6bb18022f
We get and retain Compressor instances in HFileBlockDefaultEncodingContext, and could in theory call Compressor#reinit when setting up the context, to update compression parameters like level and buffer size, but we do not plumb through the CompoundConfiguration from the Store into the encoding context. As a consequence we can only update codec parameters globally in system site conf files. Fine grained configurability is important for algorithms like ZStandard (ZSTD), which offers more than 20 compression levels, where at level 1 it is almost as fast as LZ4, and where at higher levels it utilizes computationally expensive techniques to rival LZMA at compression ratio but trades off significantly for reduced compresson throughput. The ZSTD level that should be set for a given column family or table will vary by use case. Signed-off-by: Viraj Jasani <vjasani@apache.org> Conflicts: hbase-compression/hbase-compression-zstd/src/main/java/org/apache/hadoop/hbase/io/compress/zstd/ZstdDecompressor.java hbase-server/src/test/java/org/apache/hadoop/hbase/io/compress/HFileTestBase.java hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestSeekToBlockWithEncoders.java |
||
---|---|---|
.idea | ||
bin | ||
conf | ||
dev-support | ||
hbase-annotations | ||
hbase-archetypes | ||
hbase-assembly | ||
hbase-asyncfs | ||
hbase-build-configuration | ||
hbase-checkstyle | ||
hbase-client | ||
hbase-common | ||
hbase-compression | ||
hbase-endpoint | ||
hbase-examples | ||
hbase-external-blockcache | ||
hbase-hadoop-compat | ||
hbase-hadoop2-compat | ||
hbase-hbtop | ||
hbase-http | ||
hbase-it | ||
hbase-logging | ||
hbase-mapreduce | ||
hbase-metrics | ||
hbase-metrics-api | ||
hbase-procedure | ||
hbase-protocol | ||
hbase-protocol-shaded | ||
hbase-replication | ||
hbase-resource-bundle | ||
hbase-rest | ||
hbase-rsgroup | ||
hbase-server | ||
hbase-shaded | ||
hbase-shell | ||
hbase-testing-util | ||
hbase-thrift | ||
hbase-zookeeper | ||
src | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.pylintrc | ||
.rubocop.yml | ||
CHANGES.md | ||
LICENSE.txt | ||
NOTICE.txt | ||
README.txt | ||
RELEASENOTES.md | ||
patch | ||
pom.xml |
README.txt
Apache HBase [1] is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable: A Distributed Storage System for Structured Data by Chang et al.[2] Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of Apache Hadoop [3]. To get started using HBase, the full documentation for this release can be found under the doc/ directory that accompanies this README. Using a browser, open the docs/index.html to view the project home page (or browse to [1]). The hbase 'book' at http://hbase.apache.org/book.html has a 'quick start' section and is where you should being your exploration of the hbase project. The latest HBase can be downloaded from an Apache Mirror [4]. The source code can be found at [5] The HBase issue tracker is at [6] Apache HBase is made available under the Apache License, version 2.0 [7] The HBase mailing lists and archives are listed here [8]. The HBase distribution includes cryptographic software. See the export control notice here [9]. 1. http://hbase.apache.org 2. http://research.google.com/archive/bigtable.html 3. http://hadoop.apache.org 4. http://www.apache.org/dyn/closer.cgi/hbase/ 5. https://hbase.apache.org/source-repository.html 6. https://hbase.apache.org/issue-tracking.html 7. http://hbase.apache.org/license.html 8. http://hbase.apache.org/mail-lists.html 9. https://hbase.apache.org/export_control.html