public static class ExecEdge.RequiredShuffle extends Object
TODO: We would like to remove Exchange exec nodes in the future and this class will then describe the real, instead of the required, shuffle type of the edge, replacing the distribution property currently in Exchange node.
TODO: For example, hash joins require their inputs to be shuffled by hash keys, however if the records are already shuffled due to some previous operators such as hash aggregates, the real shuffle type of this edge will be a forwarding type. Class name might be changed too.
Modifier and Type | Method and Description |
---|---|
static ExecEdge.RequiredShuffle |
any()
Returns a
ExecEdge.RequiredShuffle which does not require any specific shuffle type. |
static ExecEdge.RequiredShuffle |
broadcast()
Returns a required broadcast shuffle type.
|
int[] |
getKeys() |
ExecEdge.ShuffleType |
getType() |
static ExecEdge.RequiredShuffle |
hash(int[] keys)
Returns a required hash shuffle type.
|
static ExecEdge.RequiredShuffle |
singleton()
Returns a required singleton shuffle type.
|
static ExecEdge.RequiredShuffle |
unknown()
Returns a place-holder required shuffle type.
|
public ExecEdge.ShuffleType getType()
public int[] getKeys()
public static ExecEdge.RequiredShuffle any()
ExecEdge.RequiredShuffle
which does not require any specific shuffle type.public static ExecEdge.RequiredShuffle hash(int[] keys)
keys
- hash keyspublic static ExecEdge.RequiredShuffle broadcast()
public static ExecEdge.RequiredShuffle singleton()
public static ExecEdge.RequiredShuffle unknown()
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.