public class LongDimensionIndexer extends Object implements DimensionIndexer<Long,Long,Long>
ARRAY, LIST
Constructor and Description |
---|
LongDimensionIndexer() |
Modifier and Type | Method and Description |
---|---|
boolean |
checkUnsortedEncodedKeyComponentsEqual(Long lhs,
Long rhs)
Check if two row value arrays from TimeAndDims keys are equal.
|
int |
compareUnsortedEncodedKeyComponents(Long lhs,
Long rhs)
Compares the row values for this DimensionIndexer's dimension from a TimeAndDims key.
|
Object |
convertUnsortedEncodedKeyComponentToActualArrayOrList(Long 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.
|
Long |
convertUnsortedEncodedKeyComponentToSortedEncodedKeyComponent(Long 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(Long 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.
|
Long |
getMaxValue()
Get the maximum dimension value seen by this indexer.
|
Long |
getMinValue()
Get the minimum dimension value seen by this indexer.
|
Long |
getSortedEncodedValueFromUnsorted(Long unsortedIntermediateValue)
Given an encoded value that was ordered by time of ingestion, return the equivalent
encoded value ordered by associated actual value.
|
Indexed<Long> |
getSortedIndexedValues()
Returns an indexed structure of this dimension's sorted actual values.
|
int |
getUnsortedEncodedKeyComponentHashCode(Long key)
Given a row value array from a TimeAndDims key, generate a hashcode.
|
Long |
getUnsortedEncodedValueFromSorted(Long sortedIntermediateValue)
Given an encoded value that was ordered by associated actual value, return the equivalent
encoded value ordered by time of ingestion.
|
ValueType |
getValueType() |
DimensionSelector |
makeDimensionSelector(DimensionSpec spec,
IncrementalIndexStorageAdapter.EntryHolder currEntry,
IncrementalIndex.DimensionDesc desc)
Return an object used to read values from this indexer's column as Strings.
|
FloatColumnSelector |
makeFloatColumnSelector(IncrementalIndexStorageAdapter.EntryHolder currEntry,
IncrementalIndex.DimensionDesc desc)
Return an object used to read values from this indexer's column as Floats.
|
LongColumnSelector |
makeLongColumnSelector(IncrementalIndexStorageAdapter.EntryHolder currEntry,
IncrementalIndex.DimensionDesc desc)
Return an object used to read values from this indexer's column as Longs.
|
ObjectColumnSelector |
makeObjectColumnSelector(DimensionSpec spec,
IncrementalIndexStorageAdapter.EntryHolder currEntry,
IncrementalIndex.DimensionDesc desc)
Return an object used to read values from this indexer's column as Objects.
|
Long |
processRowValsToUnsortedEncodedKeyComponent(Object dimValues)
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 ValueType getValueType()
getValueType
in interface DimensionIndexer<Long,Long,Long>
public Long processRowValsToUnsortedEncodedKeyComponent(Object dimValues)
DimensionIndexer
processRowValsToUnsortedEncodedKeyComponent
in interface DimensionIndexer<Long,Long,Long>
dimValues
- Single row val to processpublic Long getSortedEncodedValueFromUnsorted(Long unsortedIntermediateValue)
DimensionIndexer
getSortedEncodedValueFromUnsorted
in interface DimensionIndexer<Long,Long,Long>
unsortedIntermediateValue
- value to convertpublic Long getUnsortedEncodedValueFromSorted(Long sortedIntermediateValue)
DimensionIndexer
getUnsortedEncodedValueFromSorted
in interface DimensionIndexer<Long,Long,Long>
sortedIntermediateValue
- value to convertpublic Indexed<Long> getSortedIndexedValues()
DimensionIndexer
getSortedIndexedValues
in interface DimensionIndexer<Long,Long,Long>
public Long getMinValue()
DimensionIndexer
getMinValue
in interface DimensionIndexer<Long,Long,Long>
public Long getMaxValue()
DimensionIndexer
getMaxValue
in interface DimensionIndexer<Long,Long,Long>
public int getCardinality()
DimensionIndexer
getCardinality
in interface DimensionIndexer<Long,Long,Long>
public DimensionSelector makeDimensionSelector(DimensionSpec spec, IncrementalIndexStorageAdapter.EntryHolder currEntry, IncrementalIndex.DimensionDesc desc)
DimensionIndexer
makeDimensionSelector
in interface DimensionIndexer<Long,Long,Long>
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 LongColumnSelector makeLongColumnSelector(IncrementalIndexStorageAdapter.EntryHolder currEntry, IncrementalIndex.DimensionDesc desc)
DimensionIndexer
makeLongColumnSelector
in interface DimensionIndexer<Long,Long,Long>
currEntry
- Provides access to the current TimeAndDims object in the Cursordesc
- Descriptor object for this dimension within an IncrementalIndexpublic FloatColumnSelector makeFloatColumnSelector(IncrementalIndexStorageAdapter.EntryHolder currEntry, IncrementalIndex.DimensionDesc desc)
DimensionIndexer
makeFloatColumnSelector
in interface DimensionIndexer<Long,Long,Long>
currEntry
- Provides access to the current TimeAndDims object in the Cursordesc
- Descriptor object for this dimension within an IncrementalIndexpublic ObjectColumnSelector makeObjectColumnSelector(DimensionSpec spec, IncrementalIndexStorageAdapter.EntryHolder currEntry, IncrementalIndex.DimensionDesc desc)
DimensionIndexer
makeObjectColumnSelector
in interface DimensionIndexer<Long,Long,Long>
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 int compareUnsortedEncodedKeyComponents(Long lhs, Long rhs)
DimensionIndexer
compareUnsortedEncodedKeyComponents
in interface DimensionIndexer<Long,Long,Long>
lhs
- dimension value array from a TimeAndDims keyrhs
- dimension value array from a TimeAndDims keypublic boolean checkUnsortedEncodedKeyComponentsEqual(Long lhs, Long rhs)
DimensionIndexer
checkUnsortedEncodedKeyComponentsEqual
in interface DimensionIndexer<Long,Long,Long>
lhs
- dimension value array from a TimeAndDims keyrhs
- dimension value array from a TimeAndDims keypublic int getUnsortedEncodedKeyComponentHashCode(Long key)
DimensionIndexer
getUnsortedEncodedKeyComponentHashCode
in interface DimensionIndexer<Long,Long,Long>
key
- dimension value array from a TimeAndDims keypublic Object convertUnsortedEncodedKeyComponentToActualArrayOrList(Long key, boolean asList)
DimensionIndexer
convertUnsortedEncodedKeyComponentToActualArrayOrList
in interface DimensionIndexer<Long,Long,Long>
key
- dimension value array from a TimeAndDims keyasList
- if true, return an array; if false, return a listpublic Long convertUnsortedEncodedKeyComponentToSortedEncodedKeyComponent(Long key)
DimensionIndexer
convertUnsortedEncodedKeyComponentToSortedEncodedKeyComponent
in interface DimensionIndexer<Long,Long,Long>
key
- dimension value array from a TimeAndDims keypublic void fillBitmapsFromUnsortedEncodedKeyComponent(Long key, int rowNum, MutableBitmap[] bitmapIndexes, BitmapFactory factory)
DimensionIndexer
fillBitmapsFromUnsortedEncodedKeyComponent
in interface DimensionIndexer<Long,Long,Long>
key
- dimension value array from a TimeAndDims keyrowNum
- current row numberbitmapIndexes
- array of bitmaps, indexed by integer dimension valuefactory
- bitmap factoryCopyright © 2011–2017. All rights reserved.