public class StringDimensionMergerV9 extends Object implements DimensionMergerV9<int[]>
Modifier and Type | Class and Description |
---|---|
static class |
StringDimensionMergerV9.ConvertingBitmapValues |
protected static interface |
StringDimensionMergerV9.IndexSeeker |
protected static class |
StringDimensionMergerV9.IndexSeekerWithConversion
Get old dictId from new dictId, and only support access in order
|
protected static class |
StringDimensionMergerV9.IndexSeekerWithoutConversion |
Constructor and Description |
---|
StringDimensionMergerV9(String dimensionName,
IndexSpec indexSpec,
SegmentWriteOutMedium segmentWriteOutMedium,
ColumnCapabilities capabilities,
ProgressIndicator progress) |
Modifier and Type | Method and Description |
---|---|
boolean |
canSkip()
Return true if this dimension's data does not need to be written to the segment.
|
int[] |
convertSegmentRowValuesToMergedRowValues(int[] segmentRow,
int segmentIndexNumber)
Convert a row's key component with per-segment encoding to its equivalent representation
in the merged set of rows.
|
protected boolean |
isNullColumn(Iterable<String> dimValues) |
ColumnDescriptor |
makeColumnDescriptor()
Return a ColumnDescriptor containing ColumnPartSerde objects appropriate for
this DimensionMerger's value metadata, sequence of row values, and index structures.
|
void |
processMergedRow(int[] rowValues)
Process a key component from the merged sequence of rows and update the DimensionMerger's internal state.
|
protected void |
processMergedRowHelper(int[] vals) |
protected void |
setupEncodedValueWriter() |
protected StringDimensionMergerV9.IndexSeeker[] |
toIndexSeekers(List<IndexableAdapter> adapters,
ArrayList<IntBuffer> dimConversions,
String dimension) |
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.
|
public StringDimensionMergerV9(String dimensionName, IndexSpec indexSpec, SegmentWriteOutMedium segmentWriteOutMedium, ColumnCapabilities capabilities, ProgressIndicator progress)
public void writeMergedValueMetadata(List<IndexableAdapter> adapters) throws IOException
DimensionMerger
writeMergedValueMetadata
in interface DimensionMerger<int[]>
adapters
- List of adapters to be merged.IOException
protected void setupEncodedValueWriter() throws IOException
IOException
public int[] convertSegmentRowValuesToMergedRowValues(int[] segmentRow, int segmentIndexNumber)
DimensionMerger
convertSegmentRowValuesToMergedRowValues
in interface DimensionMerger<int[]>
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(int[] rowValues) throws IOException
DimensionMerger
processMergedRow
in interface DimensionMerger<int[]>
rowValues
- The row values to be added.IOException
protected void processMergedRowHelper(int[] vals) throws IOException
IOException
public void writeIndexes(List<IntBuffer> segmentRowNumConversions) throws IOException
DimensionMerger
writeIndexes
in interface DimensionMerger<int[]>
segmentRowNumConversions
- A list of row number conversion IntBuffer objects.IOException
public boolean canSkip()
DimensionMerger
canSkip
in interface DimensionMerger<int[]>
public ColumnDescriptor makeColumnDescriptor()
DimensionMergerV9
makeColumnDescriptor
in interface DimensionMergerV9<int[]>
protected StringDimensionMergerV9.IndexSeeker[] toIndexSeekers(List<IndexableAdapter> adapters, ArrayList<IntBuffer> dimConversions, String dimension)
Copyright © 2011–2018. All rights reserved.