org.apache.hadoop.hbase.util.test
Class RedundantKVGenerator

java.lang.Object
  extended by org.apache.hadoop.hbase.util.test.RedundantKVGenerator

@InterfaceAudience.Private
public class RedundantKVGenerator
extends Object

Generate list of key values which are very useful to test data block encoding and compression.


Constructor Summary
RedundantKVGenerator()
          Default constructor, assumes all parameters from class constants.
RedundantKVGenerator(Random randomizer, int numberOfRowPrefixes, int averagePrefixLength, int prefixLengthVariance, int averageSuffixLength, int suffixLengthVariance, int numberOfRows, float chanceForSameQualifier, float chanceForSimiliarQualifier, int averageQualifierLength, int qualifierLengthVariance, int columnFamilyLength, int valueLength, float chanceForZeroValue, int baseTimestampDivide, int timestampDiffSize)
          Various configuration options for generating key values
 
Method Summary
static ByteBuffer convertKvToByteBuffer(List<KeyValue> keyValues, boolean includesMemstoreTS)
          Convert list of KeyValues to byte buffer.
 List<KeyValue> generateTestKeyValues(int howMany)
          Generate test data useful to test encoders.
 List<KeyValue> generateTestKeyValues(int howMany, boolean useTags)
          Generate test data useful to test encoders.
 RedundantKVGenerator setAveragePrefixLength(int averagePrefixLength)
           
 RedundantKVGenerator setAverageQualifierLength(int averageQualifierLength)
           
 RedundantKVGenerator setAverageSuffixLength(int averageSuffixLength)
           
 RedundantKVGenerator setBaseTimestampDivide(int baseTimestampDivide)
           
 RedundantKVGenerator setChanceForSameQualifier(float chanceForSameQualifier)
           
 RedundantKVGenerator setChanceForSimilarQualifier(float chanceForSimiliarQualifier)
           
 RedundantKVGenerator setChanceForZeroValue(float chanceForZeroValue)
           
 RedundantKVGenerator setColumnFamilyLength(int columnFamilyLength)
           
 RedundantKVGenerator setCommonPrefix(byte[] prefix)
          get/set
 RedundantKVGenerator setFamily(byte[] family)
           
 RedundantKVGenerator setNumberOfRowPrefixes(int numberOfRowPrefixes)
           
 RedundantKVGenerator setNumberOfRows(int numberOfRows)
           
 RedundantKVGenerator setPrefixLengthVariance(int prefixLengthVariance)
           
 RedundantKVGenerator setQualifierLengthVariance(int qualifierLengthVariance)
           
 RedundantKVGenerator setRandomizer(Random randomizer)
           
 RedundantKVGenerator setSuffixLengthVariance(int suffixLengthVariance)
           
 RedundantKVGenerator setTimestampDiffSize(int timestampDiffSize)
           
 RedundantKVGenerator setValueLength(int valueLength)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RedundantKVGenerator

public RedundantKVGenerator()
Default constructor, assumes all parameters from class constants.


RedundantKVGenerator

public RedundantKVGenerator(Random randomizer,
                            int numberOfRowPrefixes,
                            int averagePrefixLength,
                            int prefixLengthVariance,
                            int averageSuffixLength,
                            int suffixLengthVariance,
                            int numberOfRows,
                            float chanceForSameQualifier,
                            float chanceForSimiliarQualifier,
                            int averageQualifierLength,
                            int qualifierLengthVariance,
                            int columnFamilyLength,
                            int valueLength,
                            float chanceForZeroValue,
                            int baseTimestampDivide,
                            int timestampDiffSize)
Various configuration options for generating key values

Parameters:
randomizer - pick things by random
Method Detail

generateTestKeyValues

public List<KeyValue> generateTestKeyValues(int howMany)
Generate test data useful to test encoders.

Parameters:
howMany - How many Key values should be generated.
Returns:
sorted list of key values

generateTestKeyValues

public List<KeyValue> generateTestKeyValues(int howMany,
                                            boolean useTags)
Generate test data useful to test encoders.

Parameters:
howMany - How many Key values should be generated.
Returns:
sorted list of key values

convertKvToByteBuffer

public static ByteBuffer convertKvToByteBuffer(List<KeyValue> keyValues,
                                               boolean includesMemstoreTS)
Convert list of KeyValues to byte buffer.

Parameters:
keyValues - list of KeyValues to be converted.
Returns:
buffer with content from key values

setCommonPrefix

public RedundantKVGenerator setCommonPrefix(byte[] prefix)
get/set


setRandomizer

public RedundantKVGenerator setRandomizer(Random randomizer)

setNumberOfRowPrefixes

public RedundantKVGenerator setNumberOfRowPrefixes(int numberOfRowPrefixes)

setAveragePrefixLength

public RedundantKVGenerator setAveragePrefixLength(int averagePrefixLength)

setPrefixLengthVariance

public RedundantKVGenerator setPrefixLengthVariance(int prefixLengthVariance)

setAverageSuffixLength

public RedundantKVGenerator setAverageSuffixLength(int averageSuffixLength)

setSuffixLengthVariance

public RedundantKVGenerator setSuffixLengthVariance(int suffixLengthVariance)

setNumberOfRows

public RedundantKVGenerator setNumberOfRows(int numberOfRows)

setChanceForSameQualifier

public RedundantKVGenerator setChanceForSameQualifier(float chanceForSameQualifier)

setChanceForSimilarQualifier

public RedundantKVGenerator setChanceForSimilarQualifier(float chanceForSimiliarQualifier)

setAverageQualifierLength

public RedundantKVGenerator setAverageQualifierLength(int averageQualifierLength)

setQualifierLengthVariance

public RedundantKVGenerator setQualifierLengthVariance(int qualifierLengthVariance)

setColumnFamilyLength

public RedundantKVGenerator setColumnFamilyLength(int columnFamilyLength)

setFamily

public RedundantKVGenerator setFamily(byte[] family)

setValueLength

public RedundantKVGenerator setValueLength(int valueLength)

setChanceForZeroValue

public RedundantKVGenerator setChanceForZeroValue(float chanceForZeroValue)

setBaseTimestampDivide

public RedundantKVGenerator setBaseTimestampDivide(int baseTimestampDivide)

setTimestampDiffSize

public RedundantKVGenerator setTimestampDiffSize(int timestampDiffSize)


Copyright © 2007-2015 The Apache Software Foundation. All Rights Reserved.