Module datarush.library
Class UnspecifiedPartialDistribution
- java.lang.Object
-
- com.pervasive.datarush.ports.record.DataDistribution
-
- com.pervasive.datarush.ports.record.PartialDataDistribution
-
- com.pervasive.datarush.ports.record.PartialStaticDataDistribution
-
- com.pervasive.datarush.ports.record.UnspecifiedPartialDistribution
-
public final class UnspecifiedPartialDistribution extends PartialStaticDataDistribution
The default data distribution; if unspecified an operator will receive data in the same distribution as the upstream operator.
-
-
Field Summary
Fields Modifier and Type Field Description static UnspecifiedPartialDistribution
INSTANCE
The singleton instance of this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AliasSet[]
getAliases()
Returns the fields that are referenced by this distribution.protected PartitioningFunction
getPartitioningFunction()
Subclasses must override this method to provide the partitioning function to be usedprotected com.pervasive.datarush.operators.partition.internal.PartitionOperator
getPartitionOperator(int partitionCount)
UnspecifiedPartialDistribution
remap(FieldRemapping mapping)
Because UnspecifiedPartialDistribution 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.protected boolean
requiresRepartitionFrom(PartialDataDistribution source)
Subclasses must override this method to declare whether a repartition is required given the source distribution.protected boolean
supportsLocalRepartition()
Subclasses may override to indicate that they support a local repartitionString
toString()
-
Methods inherited from class com.pervasive.datarush.ports.record.PartialDataDistribution
getGatherScheme
-
-
-
-
Field Detail
-
INSTANCE
public static final UnspecifiedPartialDistribution INSTANCE
The singleton instance of this class.
-
-
Method Detail
-
toString
public String toString()
- Specified by:
toString
in classDataDistribution
-
remap
public UnspecifiedPartialDistribution remap(FieldRemapping mapping)
Because UnspecifiedPartialDistribution 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 classDataDistribution
- 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 classPartialStaticDataDistribution
- 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 classDataDistribution
- Returns:
- the fields that are referenced by this distribution
-
getPartitionOperator
protected com.pervasive.datarush.operators.partition.internal.PartitionOperator getPartitionOperator(int partitionCount)
-
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 classPartialStaticDataDistribution
- Returns:
- a partition function
-
supportsLocalRepartition
protected boolean supportsLocalRepartition()
Description copied from class:PartialStaticDataDistribution
Subclasses may override to indicate that they support a local repartition- Overrides:
supportsLocalRepartition
in classPartialStaticDataDistribution
- Returns:
-
-