public class StringDimensionIndexer extends Object implements DimensionIndexer<Integer,int[],String>
ARRAY, LIST
Constructor and Description |
---|
StringDimensionIndexer(DimensionSchema.MultiValueHandling multiValueHandling) |
Modifier and Type | Method and Description |
---|---|
boolean |
checkUnsortedEncodedKeyComponentsEqual(int[] lhs,
int[] rhs)
Check if two row value arrays from TimeAndDims keys are equal.
|
int |
compareUnsortedEncodedKeyComponents(int[] lhs,
int[] rhs)
Compares the row values for this DimensionIndexer's dimension from a TimeAndDims key.
|
Object |
convertUnsortedEncodedKeyComponentToActualArrayOrList(int[] key,
boolean asList)
Given a row value array from a TimeAndDims key, as described in the documentation for
compareUnsortedEncodedKeyComponents(), convert the unsorted encoded values to a list or array of actual values.
|
int[] |
convertUnsortedEncodedKeyComponentToSortedEncodedKeyComponent(int[] key)
Given a row value array from a TimeAndDims key, as described in the documentation for
compareUnsortedEncodedKeyComponents(), convert the unsorted encoded values to an array of sorted encoded values
(i.e., sorted by their corresponding actual values)
|
void |
fillBitmapsFromUnsortedEncodedKeyComponent(int[] key,
int rowNum,
MutableBitmap[] bitmapIndexes,
BitmapFactory factory)
Helper function for building bitmap indexes for integer-encoded dimensions.
|
int |
getCardinality()
Get the cardinality of this dimension's values.
|
String |
getMaxValue()
Get the maximum dimension value seen by this indexer.
|
String |
getMinValue()
Get the minimum dimension value seen by this indexer.
|
Integer |
getSortedEncodedValueFromUnsorted(Integer unsortedIntermediateValue) |
Indexed<String> |
getSortedIndexedValues()
Returns an indexed structure of this dimension's sorted actual values.
|
int |
getUnsortedEncodedKeyComponentHashCode(int[] key)
Given a row value array from a TimeAndDims key, generate a hashcode.
|
Integer |
getUnsortedEncodedValueFromSorted(Integer sortedIntermediateValue)
Given an encoded value that was ordered by associated actual value, return the equivalent
encoded value ordered by time of ingestion.
|
ColumnValueSelector<?> |
makeColumnValueSelector(TimeAndDimsHolder currEntry,
IncrementalIndex.DimensionDesc desc)
Return an object used to read values from this indexer's column.
|
DimensionSelector |
makeDimensionSelector(DimensionSpec spec,
TimeAndDimsHolder currEntry,
IncrementalIndex.DimensionDesc desc)
Return an object used to read values from this indexer's column as Strings.
|
int[] |
processRowValsToUnsortedEncodedKeyComponent(Object dimValues,
boolean reportParseExceptions)
Given a single row value or list of row values (for multi-valued dimensions), update any internal data structures
with the ingested values and return the row values as an array to be used within a TimeAndDims key.
|
public StringDimensionIndexer(DimensionSchema.MultiValueHandling multiValueHandling)
public int[] processRowValsToUnsortedEncodedKeyComponent(Object dimValues, boolean reportParseExceptions)
DimensionIndexer
processRowValsToUnsortedEncodedKeyComponent
in interface DimensionIndexer<Integer,int[],String>
dimValues
- Single row val to processpublic Integer getSortedEncodedValueFromUnsorted(Integer unsortedIntermediateValue)
public Integer getUnsortedEncodedValueFromSorted(Integer sortedIntermediateValue)
DimensionIndexer
getUnsortedEncodedValueFromSorted
in interface DimensionIndexer<Integer,int[],String>
sortedIntermediateValue
- value to convertpublic Indexed<String> getSortedIndexedValues()
DimensionIndexer
getSortedIndexedValues
in interface DimensionIndexer<Integer,int[],String>
public String getMinValue()
DimensionIndexer
getMinValue
in interface DimensionIndexer<Integer,int[],String>
public String getMaxValue()
DimensionIndexer
getMaxValue
in interface DimensionIndexer<Integer,int[],String>
public int getCardinality()
DimensionIndexer
getCardinality
in interface DimensionIndexer<Integer,int[],String>
public int compareUnsortedEncodedKeyComponents(int[] lhs, int[] rhs)
DimensionIndexer
compareUnsortedEncodedKeyComponents
in interface DimensionIndexer<Integer,int[],String>
lhs
- dimension value array from a TimeAndDims keyrhs
- dimension value array from a TimeAndDims keypublic boolean checkUnsortedEncodedKeyComponentsEqual(int[] lhs, int[] rhs)
DimensionIndexer
checkUnsortedEncodedKeyComponentsEqual
in interface DimensionIndexer<Integer,int[],String>
lhs
- dimension value array from a TimeAndDims keyrhs
- dimension value array from a TimeAndDims keypublic int getUnsortedEncodedKeyComponentHashCode(int[] key)
DimensionIndexer
getUnsortedEncodedKeyComponentHashCode
in interface DimensionIndexer<Integer,int[],String>
key
- dimension value array from a TimeAndDims keypublic DimensionSelector makeDimensionSelector(DimensionSpec spec, TimeAndDimsHolder currEntry, IncrementalIndex.DimensionDesc desc)
DimensionIndexer
makeDimensionSelector
in interface DimensionIndexer<Integer,int[],String>
spec
- Specifies the output name of a dimension and any extraction functions to be applied.currEntry
- Provides access to the current TimeAndDims object in the Cursordesc
- Descriptor object for this dimension within an IncrementalIndexpublic ColumnValueSelector<?> makeColumnValueSelector(TimeAndDimsHolder currEntry, IncrementalIndex.DimensionDesc desc)
DimensionIndexer
makeColumnValueSelector
in interface DimensionIndexer<Integer,int[],String>
currEntry
- Provides access to the current TimeAndDims object in the Cursordesc
- Descriptor object for this dimension within an IncrementalIndexpublic Object convertUnsortedEncodedKeyComponentToActualArrayOrList(int[] key, boolean asList)
DimensionIndexer
convertUnsortedEncodedKeyComponentToActualArrayOrList
in interface DimensionIndexer<Integer,int[],String>
key
- dimension value array from a TimeAndDims keyasList
- if true, return an array; if false, return a listpublic int[] convertUnsortedEncodedKeyComponentToSortedEncodedKeyComponent(int[] key)
DimensionIndexer
convertUnsortedEncodedKeyComponentToSortedEncodedKeyComponent
in interface DimensionIndexer<Integer,int[],String>
key
- dimension value array from a TimeAndDims keypublic void fillBitmapsFromUnsortedEncodedKeyComponent(int[] key, int rowNum, MutableBitmap[] bitmapIndexes, BitmapFactory factory)
DimensionIndexer
fillBitmapsFromUnsortedEncodedKeyComponent
in interface DimensionIndexer<Integer,int[],String>
key
- dimension value array from a TimeAndDims keyrowNum
- current row numberbitmapIndexes
- array of bitmaps, indexed by integer dimension valuefactory
- bitmap factoryCopyright © 2011–2018. All rights reserved.