EncodedKeyComponentType
- A row key contains a component for each dimension, this param specifies the
class of this dimension's key component. A column type that supports multivalue rows
should use an array type (Strings would use int[]). Column types without multivalue
row support should use single objects (e.g., Long, Float).public interface DimensionMerger<EncodedKeyComponentType>
Modifier and Type | Method and Description |
---|---|
boolean |
canSkip()
Return true if this dimension's data does not need to be written to the segment.
|
EncodedKeyComponentType |
convertSegmentRowValuesToMergedRowValues(EncodedKeyComponentType segmentRow,
int segmentIndexNumber)
Convert a row's key component with per-segment encoding to its equivalent representation
in the merged set of rows.
|
void |
processMergedRow(EncodedKeyComponentType rowValues)
Process a key component from the merged sequence of rows and update the DimensionMerger's internal state.
|
void |
writeIndexes(List<IntBuffer> segmentRowNumConversions,
com.google.common.io.Closer closer)
Internally construct any index structures relevant to this DimensionMerger.
|
void |
writeMergedValueMetadata(List<IndexableAdapter> adapters)
Given a list of segment adapters:
- Read any value metadata (e.g., dictionary encoding information) from the adapters
- Merge this value metadata and update the internal state of the implementing class.
|
void writeMergedValueMetadata(List<IndexableAdapter> adapters) throws IOException
adapters
- List of adapters to be merged.IOException
EncodedKeyComponentType convertSegmentRowValuesToMergedRowValues(EncodedKeyComponentType segmentRow, int segmentIndexNumber)
segmentRow
- A row's key component for this dimension. The encoding of the key component's
values will be converted from per-segment encodings to the combined encodings from
the merged sequence of rows.segmentIndexNumber
- Integer indicating which segment the row originated from.void processMergedRow(EncodedKeyComponentType rowValues) throws IOException
rowValues
- The row values to be added.IOException
void writeIndexes(List<IntBuffer> segmentRowNumConversions, com.google.common.io.Closer closer) throws IOException
segmentRowNumConversions
- A list of row number conversion IntBuffer objects.closer
- Add Closeables for resource cleanup to this Closer if neededIOException
boolean canSkip()
Copyright © 2011–2017. All rights reserved.