Class GenericPartitionBoundaries<T>

java.lang.Object
org.apache.datasketches.quantilescommon.GenericPartitionBoundaries<T>
Type Parameters:
T - the item class type

public final class GenericPartitionBoundaries<T> extends Object
This defines the returned results of the getParitionBoundaries() function and includes the basic methods needed to construct actual partitions.
  • Constructor Summary

    Constructors
    Constructor
    Description
    GenericPartitionBoundaries(long totalN, T[] boundaries, long[] natRanks, double[] normRanks, T maxItem, T minItem, QuantileSearchCriteria searchCrit)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    T[]
    Gets an ordered array of boundaries that sequentially define the upper and lower boundaries of partitions.
    Returns the maximum item of the stream.
    Returns the minimum item of the stream.
    long
    Gets the length of the input stream offered to the underlying sketch.
    long[]
    Gets an ordered array of natural ranks of the associated array of partition boundaries utilizing a specified search criterion.
    double[]
    Gets an ordered array of normalized ranks of the associated array of partition boundaries utilizing a specified search criterion.
    long[]
    Gets the number of items to be included for each partition as an array.
    int
    Gets the number of partitions
    Gets the search criteria specified for the source sketch

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • GenericPartitionBoundaries

      public GenericPartitionBoundaries(long totalN, T[] boundaries, long[] natRanks, double[] normRanks, T maxItem, T minItem, QuantileSearchCriteria searchCrit)
      Constructor.
      Parameters:
      totalN - the total number of items input to the sketch.
      boundaries - The quantile boundaries between partitions
      natRanks - The array of natural Ranks corresponding to the array of boundaries.
      normRanks - The normalized Ranks corresponding to the array of boundaries.
      maxItem - the maximum item of the stream.
      minItem - the minimum item of the stream.
      searchCrit - the user defined search criteria
  • Method Details

    • getN

      public long getN()
      Gets the length of the input stream offered to the underlying sketch.
      Returns:
      the length of the input stream offered to the underlying sketch.
    • getBoundaries

      public T[] getBoundaries()
      Gets an ordered array of boundaries that sequentially define the upper and lower boundaries of partitions. These partitions are to be constructed by an external process. Each boundary is essentially a reference and should uniquely identify an item or a set of identical items from the original stream of data fed to the originating sketch.

      Assume boundaries array has size N + 1. Let the indicies be sequentially numbered from 0 to N. The number of partitions is always one less than the size of the boundaries array. Let the the partitions be sequentially numbered from 1 to N.

      If these results were computed using QuantileSearchCriteria.INCLUSIVE then these sequential boundaries are to be interpreted as follows:

      • Partition 1: include all items ≥ index 0 and ≤ index 1.
      • Partition 2: include all items > index 1 and ≤ index 2.
      • Partition N: include all items > index N-1 and ≤ index N.

      If these results were computed using QuantileSearchCriteria.EXCLUSIVE then these sequential boundaries are to be interpreted as follows:

      • Partition 1: include all items ≥ index 0 and < index 1.
      • Partition 2: include all items ≥ index 1 and < index 2.
      • Partition N: include all items ≥ index N-1 and ≤ index N.
      Returns:
      an array of boundaries that sequentially define the upper and lower boundaries of partitions.
    • getNaturalRanks

      public long[] getNaturalRanks()
      Gets an ordered array of natural ranks of the associated array of partition boundaries utilizing a specified search criterion. Natural ranks are integral values on the interval [1, N]
      Returns:
      an array of natural ranks.
    • getNormalizedRanks

      public double[] getNormalizedRanks()
      Gets an ordered array of normalized ranks of the associated array of partition boundaries utilizing a specified search criterion. Normalized ranks are double values on the interval [0.0, 1.0].
      Returns:
      an array of normalized ranks.
    • getNumDeltaItems

      public long[] getNumDeltaItems()
      Gets the number of items to be included for each partition as an array. The count at index 0 is 0. The number of items included in the first partition, defined by the boundaries at index 0 and index 1, is at index 1 in this array, etc.
      Returns:
      the number of items to be included for each partition as an array.
    • getNumPartitions

      public int getNumPartitions()
      Gets the number of partitions
      Returns:
      the number of partitions
    • getMaxItem

      public T getMaxItem()
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the sketch algorithm.
      Returns:
      the maximum item of the stream
      Throws:
      IllegalArgumentException - if sketch is empty.
    • getMinItem

      public T getMinItem()
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the sketch algorithm.
      Returns:
      the minimum item of the stream
      Throws:
      IllegalArgumentException - if sketch is empty.
    • getSearchCriteria

      public QuantileSearchCriteria getSearchCriteria()
      Gets the search criteria specified for the source sketch
      Returns:
      The search criteria specified for the source sketch