Interface DimensionMergerV9

All Superinterfaces:
DimensionMerger
All Known Implementing Classes:
AutoTypeColumnMerger, DictionaryEncodedColumnMerger, DoubleDimensionMergerV9, FloatDimensionMergerV9, LongDimensionMergerV9, NumericDimensionMergerV9, StringDimensionMergerV9

public interface DimensionMergerV9 extends DimensionMerger
Processing related interface DimensionMerger subclass to be used with IndexMergerV9.
  • Method Details

    • makeColumnDescriptor

      ColumnDescriptor makeColumnDescriptor()
      Return a ColumnDescriptor containing ColumnPartSerde objects appropriate for this DimensionMerger's value metadata, sequence of row values, and index structures.
      Returns:
      ColumnDescriptor that IndexMergerV9 will use to build a column.
    • markAsParent

      default void markAsParent()
      Sets this merger as the "parent" of another merger for a "projection", allowing for this merger to preserve any state which might be required for the projection mergers to do their thing. This method MUST be called prior to performing any merge work. Typically, this method is only implemented if attachParent(DimensionMergerV9, List) requires it.
    • attachParent

      default void attachParent(DimensionMergerV9 parent, List<IndexableAdapter> projectionAdapters) throws IOException
      Attaches the DimensionMergerV9 of a "projection" parent column so that stuff like value dictionaries can be shared between parent and child. This method is called during merging instead of DimensionMerger.writeMergedValueDictionary(List) if the parent column exists.
      Throws:
      IOException
      See Also:
      • IndexMergerV9.makeProjections(org.apache.druid.java.util.common.io.smoosh.FileSmoosher, java.util.List<org.apache.druid.segment.AggregateProjectionMetadata>, java.util.List<org.apache.druid.segment.IndexableAdapter>, org.apache.druid.segment.IndexSpec, org.apache.druid.segment.writeout.SegmentWriteOutMedium, org.apache.druid.segment.ProgressIndicator, java.io.File, org.apache.druid.java.util.common.io.Closer, java.util.Map<java.lang.String, org.apache.druid.segment.DimensionMergerV9>, org.apache.druid.segment.Metadata)