public class NestedDataDimensionHandler extends Object implements DimensionHandler<StructuredData,StructuredData,StructuredData>
Constructor and Description |
---|
NestedDataDimensionHandler(String name) |
Modifier and Type | Method and Description |
---|---|
String |
getDimensionName()
Get the name of the column associated with this handler.
|
DimensionSchema |
getDimensionSchema(ColumnCapabilities capabilities) |
DimensionSpec |
getDimensionSpec()
Create a
DimensionSpec for this handler |
Comparator<ColumnValueSelector> |
getEncodedValueSelectorComparator()
Returns a comparator that knows how to compare
ColumnValueSelector of the assumed dimension type,
corresponding to this DimensionHandler. |
int |
getLengthOfEncodedKeyComponent(StructuredData dimVals)
Given an key component representing a single set of row value(s) for this dimension as an Object,
return the length of the key component after appropriate type-casting.
|
DimensionIndexer<StructuredData,StructuredData,StructuredData> |
makeIndexer(boolean useMaxMemoryEstimates)
Creates a new DimensionIndexer, a per-dimension object responsible for processing ingested rows in-memory, used
by the IncrementalIndex.
|
DimensionMergerV9 |
makeMerger(IndexSpec indexSpec,
SegmentWriteOutMedium segmentWriteOutMedium,
ColumnCapabilities capabilities,
ProgressIndicator progress,
Closer closer)
Creates a new DimensionMergerV9, a per-dimension object responsible for merging indexes/row data across segments
and building the on-disk representation of a dimension.
|
SettableColumnValueSelector |
makeNewSettableEncodedValueSelector()
Creates and returns a new object of some implementation of
SettableColumnValueSelector , that corresponds
to the type of this DimensionHandler. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getMultivalueHandling
public NestedDataDimensionHandler(String name)
public String getDimensionName()
DimensionHandler
getDimensionName
in interface DimensionHandler<StructuredData,StructuredData,StructuredData>
public DimensionSpec getDimensionSpec()
DimensionHandler
DimensionSpec
for this handlergetDimensionSpec
in interface DimensionHandler<StructuredData,StructuredData,StructuredData>
public DimensionSchema getDimensionSchema(ColumnCapabilities capabilities)
getDimensionSchema
in interface DimensionHandler<StructuredData,StructuredData,StructuredData>
public DimensionIndexer<StructuredData,StructuredData,StructuredData> makeIndexer(boolean useMaxMemoryEstimates)
DimensionHandler
DimensionIndexer
interface for more information.makeIndexer
in interface DimensionHandler<StructuredData,StructuredData,StructuredData>
useMaxMemoryEstimates
- true if the created DimensionIndexer should use
maximum values to estimate on-heap memorypublic DimensionMergerV9 makeMerger(IndexSpec indexSpec, SegmentWriteOutMedium segmentWriteOutMedium, ColumnCapabilities capabilities, ProgressIndicator progress, Closer closer)
DimensionHandler
DimensionMergerV9
interface for more information.makeMerger
in interface DimensionHandler<StructuredData,StructuredData,StructuredData>
indexSpec
- Specification object for the index mergesegmentWriteOutMedium
- this SegmentWriteOutMedium object could be used internally in the created merger, if neededcapabilities
- The ColumnCapabilities of the dimension represented by this DimensionHandlerprogress
- ProgressIndicator used by the merging processpublic int getLengthOfEncodedKeyComponent(StructuredData dimVals)
DimensionHandler
getLengthOfEncodedKeyComponent
in interface DimensionHandler<StructuredData,StructuredData,StructuredData>
dimVals
- Values for this dimension from a rowpublic Comparator<ColumnValueSelector> getEncodedValueSelectorComparator()
DimensionHandler
ColumnValueSelector
of the assumed dimension type,
corresponding to this DimensionHandler. E. g. StringDimensionHandler
returns a comparator, that compares
ColumnValueSelector
s as DimensionSelector
s.
The comparison rules used by this method should match the rules used by
DimensionIndexer.compareUnsortedEncodedKeyComponents(EncodedKeyComponentType, EncodedKeyComponentType)
, otherwise incorrect ordering/merging of rows
can occur during ingestion, causing issues such as imperfect rollup.getEncodedValueSelectorComparator
in interface DimensionHandler<StructuredData,StructuredData,StructuredData>
public SettableColumnValueSelector makeNewSettableEncodedValueSelector()
DimensionHandler
SettableColumnValueSelector
, that corresponds
to the type of this DimensionHandler. E. g. LongDimensionHandler
returns SettableLongColumnValueSelector
, etc.makeNewSettableEncodedValueSelector
in interface DimensionHandler<StructuredData,StructuredData,StructuredData>
Copyright © 2011–2023 The Apache Software Foundation. All rights reserved.