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
DimensionMergerwriteMergedValueMetadata in interface DimensionMerger<int[]>adapters - List of adapters to be merged.IOExceptionprotected void setupEncodedValueWriter()
                                throws IOException
IOExceptionpublic int[] convertSegmentRowValuesToMergedRowValues(int[] segmentRow,
                                                      int segmentIndexNumber)
DimensionMergerconvertSegmentRowValuesToMergedRowValues 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
DimensionMergerprocessMergedRow in interface DimensionMerger<int[]>rowValues - The row values to be added.IOExceptionprotected void processMergedRowHelper(int[] vals)
                               throws IOException
IOExceptionpublic void writeIndexes(List<IntBuffer> segmentRowNumConversions) throws IOException
DimensionMergerwriteIndexes in interface DimensionMerger<int[]>segmentRowNumConversions - A list of row number conversion IntBuffer objects.IOExceptionpublic boolean canSkip()
DimensionMergercanSkip in interface DimensionMerger<int[]>public ColumnDescriptor makeColumnDescriptor()
DimensionMergerV9makeColumnDescriptor in interface DimensionMergerV9<int[]>protected StringDimensionMergerV9.IndexSeeker[] toIndexSeekers(List<IndexableAdapter> adapters, ArrayList<IntBuffer> dimConversions, String dimension)
Copyright © 2011–2018. All rights reserved.