Class BalancedDistribution


public final class BalancedDistribution extends PartialStaticDataDistribution
Used to redistribute the data in a roughly balanced fashion. Data from all partitions is round-robin partitioned to all other partitions.
See Also:
  • Field Details

    • INSTANCE

      public static final BalancedDistribution INSTANCE
      The singleton instance of this class.
  • Method Details

    • toString

      public String toString()
      Specified by:
      toString in class DataDistribution
    • remap

      public BalancedDistribution remap(FieldRemapping mapping)
      Because BalancedDistribution does not reference any key names, it is not sensitive to transformations to the record namespace and thus this method just returns a reference to this, unmodified.
      Specified by:
      remap in class DataDistribution
      Parameters:
      mapping - the field remapping.
      Returns:
      this distribution, unmodified
    • requiresRepartitionFrom

      protected boolean requiresRepartitionFrom(PartialDataDistribution source)
      Description copied from class: PartialStaticDataDistribution
      Subclasses must override this method to declare whether a repartition is required given the source distribution. Implementations may err on the side of caution by always returning true but this may have an impact on performance.
      Specified by:
      requiresRepartitionFrom in class PartialStaticDataDistribution
      Parameters:
      source - the source distribution
      Returns:
      true if a repartition is required, false if this data distribution matches what was specified.
    • getAliases

      public AliasSet[] getAliases()
      Description copied from class: DataDistribution
      Returns the fields that are referenced by this distribution. Note that it is valid for a distribution to reference no fields, in which case it should return an empty array. This method is used by the framework to validate the distribution is consistent with the type of the record.
      Specified by:
      getAliases in class DataDistribution
      Returns:
      the fields that are referenced by this distribution
    • getPartitioningFunction

      protected PartitioningFunction getPartitioningFunction()
      Description copied from class: PartialStaticDataDistribution
      Subclasses must override this method to provide the partitioning function to be used
      Specified by:
      getPartitioningFunction in class PartialStaticDataDistribution
      Returns:
      a partition function