public class LongDimensionMergerV9 extends Object implements DimensionMergerV9<Long>
| Modifier and Type | Field and Description |
|---|---|
protected String |
dimensionName |
protected IndexSpec |
indexSpec |
protected LongColumnSerializer |
serializer |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canSkip()
Return true if this dimension's data does not need to be written to the segment.
|
Long |
convertSegmentRowValuesToMergedRowValues(Long segmentRow,
int segmentIndexNumber)
Convert a row's key component with per-segment encoding to its equivalent representation
in the merged set of rows.
|
ColumnDescriptor |
makeColumnDescriptor()
Return a ColumnDescriptor containing ColumnPartSerde objects appropriate for
this DimensionMerger's value metadata, sequence of row values, and index structures.
|
void |
processMergedRow(Long rowValues)
Process a key component from the merged sequence of rows and update the DimensionMerger's internal state.
|
protected void |
setupEncodedValueWriter(SegmentWriteOutMedium segmentWriteOutMedium) |
void |
writeIndexes(List<IntBuffer> segmentRowNumConversions)
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.
|
protected String dimensionName
protected final IndexSpec indexSpec
protected LongColumnSerializer serializer
protected void setupEncodedValueWriter(SegmentWriteOutMedium segmentWriteOutMedium) throws IOException
IOExceptionpublic void writeMergedValueMetadata(List<IndexableAdapter> adapters) throws IOException
DimensionMergerwriteMergedValueMetadata in interface DimensionMerger<Long>adapters - List of adapters to be merged.IOExceptionpublic Long convertSegmentRowValuesToMergedRowValues(Long segmentRow, int segmentIndexNumber)
DimensionMergerconvertSegmentRowValuesToMergedRowValues in interface DimensionMerger<Long>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.public void processMergedRow(Long rowValues) throws IOException
DimensionMergerprocessMergedRow in interface DimensionMerger<Long>rowValues - The row values to be added.IOExceptionpublic void writeIndexes(List<IntBuffer> segmentRowNumConversions) throws IOException
DimensionMergerwriteIndexes in interface DimensionMerger<Long>segmentRowNumConversions - A list of row number conversion IntBuffer objects.IOExceptionpublic boolean canSkip()
DimensionMergercanSkip in interface DimensionMerger<Long>public ColumnDescriptor makeColumnDescriptor() throws IOException
DimensionMergerV9makeColumnDescriptor in interface DimensionMergerV9<Long>IOExceptionCopyright © 2011–2018. All rights reserved.