public final class RequestedGlobalProperties extends Object implements Cloneable
Constructor and Description |
---|
RequestedGlobalProperties()
Initializes the global properties with no partitioning.
|
Modifier and Type | Method and Description |
---|---|
RequestedGlobalProperties |
clone() |
boolean |
equals(Object obj) |
RequestedGlobalProperties |
filterBySemanticProperties(SemanticProperties props,
int input)
Filters these properties by what can be preserved by the given SemanticProperties when propagated down
to the given input.
|
Partitioner<?> |
getCustomPartitioner()
Gets the custom partitioner associated with these properties.
|
DataDistribution |
getDataDistribution()
Gets the data distribution.
|
Ordering |
getOrdering()
Gets the key order.
|
FieldSet |
getPartitionedFields()
Gets the fields on which the data is partitioned.
|
PartitioningProperty |
getPartitioning()
Gets the partitioning property.
|
int |
hashCode() |
boolean |
isMetBy(GlobalProperties props)
Checks, if this set of interesting properties, is met by the given
produced properties.
|
boolean |
isTrivial()
Checks, if the properties in this object are trivial, i.e.
|
void |
parameterizeChannel(Channel channel,
boolean globalDopChange,
ExecutionMode exchangeMode,
boolean breakPipeline)
Parametrizes the ship strategy fields of a channel such that the channel produces
the desired global properties.
|
void |
reset()
This method resets the properties to a state where no properties are given.
|
void |
setAnyDistribution() |
void |
setAnyPartitioning(FieldSet partitionedFields)
Sets these properties to request some partitioning on the given fields.
|
void |
setCustomPartitioned(FieldSet partitionedFields,
Partitioner<?> partitioner)
Sets these properties to request a custom partitioning with the given
Partitioner instance. |
void |
setForceRebalancing() |
void |
setFullyReplicated() |
void |
setHashPartitioned(FieldSet partitionedFields)
Sets these properties to request a hash partitioning on the given fields.
|
void |
setRandomPartitioning() |
void |
setRangePartitioned(Ordering ordering) |
void |
setRangePartitioned(Ordering ordering,
DataDistribution dataDistribution) |
String |
toString() |
public RequestedGlobalProperties()
public void setHashPartitioned(FieldSet partitionedFields)
FieldSet
, then any permutation of the fields is a
valid partitioning, including subsets. If the fields are given as a FieldList
,
then only an exact partitioning on the fields matches this requested partitioning.partitionedFields
- The key fields for the partitioning.public void setRangePartitioned(Ordering ordering)
public void setRangePartitioned(Ordering ordering, DataDistribution dataDistribution)
public void setAnyPartitioning(FieldSet partitionedFields)
FieldSet
, then any permutation of the fields is a
valid partitioning, including subsets. If the fields are given as a FieldList
,
then only an exact partitioning on the fields matches this requested partitioning.partitionedFields
- The key fields for the partitioning.public void setRandomPartitioning()
public void setAnyDistribution()
public void setFullyReplicated()
public void setForceRebalancing()
public void setCustomPartitioned(FieldSet partitionedFields, Partitioner<?> partitioner)
Partitioner
instance.
If the fields are provided as FieldSet
, then any permutation of the fields is a
valid partitioning, including subsets. If the fields are given as a FieldList
,
then only an exact partitioning on the fields matches this requested partitioning.partitionedFields
- The key fields for the partitioning.public PartitioningProperty getPartitioning()
public FieldSet getPartitionedFields()
public Ordering getOrdering()
public DataDistribution getDataDistribution()
public Partitioner<?> getCustomPartitioner()
public boolean isTrivial()
public void reset()
public RequestedGlobalProperties filterBySemanticProperties(SemanticProperties props, int input)
props
- The SemanticProperties which define which fields are preserved.input
- The index of the operator's input.public boolean isMetBy(GlobalProperties props)
props
- The properties for which to check whether they meet these properties.public void parameterizeChannel(Channel channel, boolean globalDopChange, ExecutionMode exchangeMode, boolean breakPipeline)
channel
- The channel to parametrize.globalDopChange
- Flag indicating whether the parallelism changes
between sender and receiver.exchangeMode
- The mode of data exchange (pipelined, always batch,
batch only on shuffle, ...)breakPipeline
- Indicates whether this data exchange should break
pipelines (unless pipelines are forced).public RequestedGlobalProperties clone()
Copyright © 2014–2018 The Apache Software Foundation. All rights reserved.