public class FloatDimensionMergerV9 extends Object implements DimensionMergerV9<Float>
Modifier and Type | Field and Description |
---|---|
protected String |
dimensionName |
protected IndexSpec |
indexSpec |
Constructor and Description |
---|
FloatDimensionMergerV9(String dimensionName,
IndexSpec indexSpec,
SegmentWriteOutMedium segmentWriteOutMedium) |
Modifier and Type | Method and Description |
---|---|
boolean |
canSkip()
Return true if this dimension's data does not need to be written to the segment.
|
Float |
convertSegmentRowValuesToMergedRowValues(Float 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(Float rowValues)
Process a key component from the merged sequence of rows and update the DimensionMerger's internal state.
|
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
public FloatDimensionMergerV9(String dimensionName, IndexSpec indexSpec, SegmentWriteOutMedium segmentWriteOutMedium)
public void writeMergedValueMetadata(List<IndexableAdapter> adapters) throws IOException
DimensionMerger
writeMergedValueMetadata
in interface DimensionMerger<Float>
adapters
- List of adapters to be merged.IOException
public Float convertSegmentRowValuesToMergedRowValues(Float segmentRow, int segmentIndexNumber)
DimensionMerger
convertSegmentRowValuesToMergedRowValues
in interface DimensionMerger<Float>
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(Float rowValues) throws IOException
DimensionMerger
processMergedRow
in interface DimensionMerger<Float>
rowValues
- The row values to be added.IOException
public void writeIndexes(List<IntBuffer> segmentRowNumConversions) throws IOException
DimensionMerger
writeIndexes
in interface DimensionMerger<Float>
segmentRowNumConversions
- A list of row number conversion IntBuffer objects.IOException
public boolean canSkip()
DimensionMerger
canSkip
in interface DimensionMerger<Float>
public ColumnDescriptor makeColumnDescriptor() throws IOException
DimensionMergerV9
makeColumnDescriptor
in interface DimensionMergerV9<Float>
IOException
Copyright © 2011–2018. All rights reserved.