Class AutoTypeColumnMerger

java.lang.Object
org.apache.druid.segment.AutoTypeColumnMerger
All Implemented Interfaces:
DimensionMerger, DimensionMergerV9

public class AutoTypeColumnMerger extends Object implements DimensionMergerV9
Column merger for AutoTypeColumnIndexer to eventually produce some form of NestedCommonFormatColumn.

Depending on the types of values encountered

  • Field Details

    • STRING_MERGING_COMPARATOR

      public static final Comparator<com.google.common.collect.PeekingIterator<String>> STRING_MERGING_COMPARATOR
    • LONG_MERGING_COMPARATOR

      public static final Comparator<com.google.common.collect.PeekingIterator<Long>> LONG_MERGING_COMPARATOR
    • DOUBLE_MERGING_COMPARATOR

      public static final Comparator<com.google.common.collect.PeekingIterator<Double>> DOUBLE_MERGING_COMPARATOR
  • Constructor Details

    • AutoTypeColumnMerger

      public AutoTypeColumnMerger(String name, String outputName, @Nullable ColumnType castToType, NestedCommonFormatColumnFormatSpec columnFormatSpec, SegmentWriteOutMedium segmentWriteOutMedium, File segmentBaseDir, Closer closer)
      Parameters:
      name - column name
      outputName - output smoosh file name. if this is a base table column, it will be the equivalent to name, however if this merger is for a projection, this will be prefixed with the projection name so that multiple projections can store the same column name at different smoosh file "paths"
      castToType - optional mechanism to enforce that all values are a specific type
      columnFormatSpec - column level storage options such as compression format and bitmap type
      segmentWriteOutMedium - temporary storage location to stage segment outputs before finalizing into the segment
      closer - resource closer if this merger needs to attach any closables that should be cleaned up when the segment is finished writing
  • Method Details