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
IOException
public void writeMergedValueMetadata(List<IndexableAdapter> adapters) throws IOException
DimensionMerger
writeMergedValueMetadata
in interface DimensionMerger<Long>
adapters
- List of adapters to be merged.IOException
public Long convertSegmentRowValuesToMergedRowValues(Long segmentRow, int segmentIndexNumber)
DimensionMerger
convertSegmentRowValuesToMergedRowValues
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
DimensionMerger
processMergedRow
in interface DimensionMerger<Long>
rowValues
- The row values to be added.IOException
public void writeIndexes(List<IntBuffer> segmentRowNumConversions) throws IOException
DimensionMerger
writeIndexes
in interface DimensionMerger<Long>
segmentRowNumConversions
- A list of row number conversion IntBuffer objects.IOException
public boolean canSkip()
DimensionMerger
canSkip
in interface DimensionMerger<Long>
public ColumnDescriptor makeColumnDescriptor() throws IOException
DimensionMergerV9
makeColumnDescriptor
in interface DimensionMergerV9<Long>
IOException
Copyright © 2011–2018. All rights reserved.