Class DimensionRangePartitionsSpec

java.lang.Object
org.apache.druid.indexer.partitions.DimensionRangePartitionsSpec
All Implemented Interfaces:
DimensionBasedPartitionsSpec, PartitionsSpec
Direct Known Subclasses:
SingleDimensionPartitionsSpec

public class DimensionRangePartitionsSpec extends Object implements DimensionBasedPartitionsSpec
Spec to create partitions based on value ranges of multiple dimensions.

A MultiDimensionPartitionSpec has the following fields:

  • either targetRowsPerSegment or maxRowsPerSegment
  • partitionDimensions: List of dimension names to be used for partitioning
  • assumeGrouped: true if input data has already been grouped on time and dimensions
  • Field Details

  • Constructor Details

    • DimensionRangePartitionsSpec

      public DimensionRangePartitionsSpec(@Nullable Integer targetRowsPerSegment, @Nullable Integer maxRowsPerSegment, List<String> partitionDimensions, boolean assumeGrouped)
  • Method Details

    • getTargetRowsPerSegment

      @Nullable public Integer getTargetRowsPerSegment()
      Specified by:
      getTargetRowsPerSegment in interface DimensionBasedPartitionsSpec
    • getType

      public SecondaryPartitionType getType()
      Specified by:
      getType in interface PartitionsSpec
    • getMaxRowsPerSegment

      @NotNull public @NotNull Integer getMaxRowsPerSegment()
      Description copied from interface: PartitionsSpec
      Returns the max number of rows per segment. Implementations can have different default values which it could be even null. Callers should use the right value depending on the context if this returns null.
      Specified by:
      getMaxRowsPerSegment in interface PartitionsSpec
      Returns:
      Resolved value of max rows per segment.
    • getMaxRowsPerSegmentForJson

      protected Integer getMaxRowsPerSegmentForJson()
    • isAssumeGrouped

      public boolean isAssumeGrouped()
    • getPartitionDimensions

      public List<String> getPartitionDimensions()
      Specified by:
      getPartitionDimensions in interface DimensionBasedPartitionsSpec
    • getForceGuaranteedRollupIncompatiblityReason

      public String getForceGuaranteedRollupIncompatiblityReason()
      Specified by:
      getForceGuaranteedRollupIncompatiblityReason in interface PartitionsSpec
      Returns:
      Message describing why this partitionSpec is incompatible with forceGuaranteedRollup=true. Empty string if the partitionSpec is compatible.
    • needsDeterminePartitions

      public boolean needsDeterminePartitions()
      Description copied from interface: PartitionsSpec
      Returns true if this partitionsSpec needs to determine the number of partitions to start data ingestion. It should usually return true if perfect rollup is enforced but number of partitions is not specified.
      Specified by:
      needsDeterminePartitions in interface PartitionsSpec
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object