Class CompressionConfigurer
java.lang.Object
org.apache.accumulo.core.client.admin.compaction.CompressionConfigurer
- All Implemented Interfaces:
CompactionConfigurer
- Direct Known Subclasses:
ErasureCodeConfigurer
A compaction configurer that can adjust the compression configuration for a compaction when the
sum of the input file sizes exceeds a threshold.
To use compression type CL for large files and CS for small files, set the following table properties.
- Set
table.compaction.configurerto the fully qualified name of this class. - Set
table.compaction.configurer.opts.large.compress.thresholdto a size in bytes. The suffixes K,M,and G can be used. When the inputs exceed this size, the following compression is used. - Set
table.compaction.configurer.opts.large.compress.typeto CL. - Set
table.file.compress.type=CS
With the above config, minor compaction and small compaction will use CS for compression. Everything else will use CL. For example CS could be snappy and CL could be gzip. Using a faster compression for small files and slower compression for larger files can increase ingestion throughput without using a lot of extra space.
- Since:
- 2.1.0
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.accumulo.core.client.admin.compaction.CompactionConfigurer
CompactionConfigurer.InitParameters, CompactionConfigurer.InputParameters, CompactionConfigurer.Overrides -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
LARGE_FILE_COMPRESSION_THRESHOLD
- See Also:
-
LARGE_FILE_COMPRESSION_TYPE
- See Also:
-
-
Constructor Details
-
CompressionConfigurer
public CompressionConfigurer()
-
-
Method Details
-
init
- Specified by:
initin interfaceCompactionConfigurer
-
override
- Specified by:
overridein interfaceCompactionConfigurer
-