public class DataBlockEncodingTool
extends java.lang.Object
Constructor and Description |
---|
DataBlockEncodingTool(java.lang.String compressionAlgorithmName) |
Modifier and Type | Method and Description |
---|---|
void |
benchmarkAlgorithm(Compression.Algorithm algorithm,
java.lang.String name,
byte[] buffer,
int offset,
int length)
Check decompress performance of a given algorithm and print it.
|
void |
benchmarkCodecs()
Benchmark codec's speed.
|
void |
checkStatistics(KeyValueScanner scanner,
int kvLimit)
Check statistics for given HFile for different data block encoders.
|
void |
displayStatistics()
Display statistics of different compression algorithms.
|
static void |
main(java.lang.String[] args)
A command line interface to benchmarks.
|
static void |
testCodecs(Configuration conf,
int kvLimit,
java.lang.String hfilePath,
java.lang.String compressionName,
boolean doBenchmark,
boolean doVerify)
Test a data block encoder on the given HFile.
|
boolean |
verifyCodecs(KeyValueScanner scanner,
int kvLimit)
Verify if all data block encoders are working properly.
|
public DataBlockEncodingTool(java.lang.String compressionAlgorithmName)
compressionAlgorithmName
- What kind of algorithm should be used
as baseline for comparison (e.g. lzo, gz).public void checkStatistics(KeyValueScanner scanner, int kvLimit) throws java.io.IOException
scanner
- Of file which will be compressed.kvLimit
- Maximal count of KeyValue which will be processed.java.io.IOException
- thrown if scanner is invalidpublic boolean verifyCodecs(KeyValueScanner scanner, int kvLimit) throws java.io.IOException
scanner
- Of file which was compressed.kvLimit
- Maximal count of KeyValue which will be processed.java.io.IOException
- thrown if scanner is invalidpublic void benchmarkCodecs() throws java.io.IOException
java.io.IOException
public void benchmarkAlgorithm(Compression.Algorithm algorithm, java.lang.String name, byte[] buffer, int offset, int length) throws java.io.IOException
algorithm
- Compression algorithm.name
- Name of algorithm.buffer
- Buffer to be compressed.offset
- Position of the beginning of the data.length
- Length of data in buffer.java.io.IOException
public void displayStatistics() throws java.io.IOException
java.io.IOException
public static void testCodecs(Configuration conf, int kvLimit, java.lang.String hfilePath, java.lang.String compressionName, boolean doBenchmark, boolean doVerify) throws java.io.IOException
kvLimit
- The limit of KeyValue which will be analyzed.hfilePath
- an HFile path on the file system.compressionName
- Compression algorithm used for comparison.doBenchmark
- Run performance benchmarks.doVerify
- Verify correctness.java.io.IOException
- When pathName is incorrect.public static void main(java.lang.String[] args) throws java.io.IOException
args
- Should have length at least 1 and holds the file path to HFile.java.io.IOException
- If you specified the wrong file.