use of org.apache.flink.optimizer.operators.HashRightOuterJoinBuildSecondDescriptor in project flink by apache.
the class OuterJoinNode method createRightOuterJoinDescriptors.
private List<OperatorDescriptorDual> createRightOuterJoinDescriptors(JoinHint hint) {
List<OperatorDescriptorDual> list = new ArrayList<>();
switch(hint) {
case OPTIMIZER_CHOOSES:
list.add(new SortMergeRightOuterJoinDescriptor(this.keys1, this.keys2, true));
list.add(new HashRightOuterJoinBuildFirstDescriptor(this.keys1, this.keys2, true, true));
break;
case REPARTITION_SORT_MERGE:
list.add(new SortMergeRightOuterJoinDescriptor(this.keys1, this.keys2, false));
break;
case REPARTITION_HASH_FIRST:
list.add(new HashRightOuterJoinBuildFirstDescriptor(this.keys1, this.keys2, false, true));
break;
case BROADCAST_HASH_FIRST:
list.add(new HashRightOuterJoinBuildFirstDescriptor(this.keys1, this.keys2, true, false));
break;
case REPARTITION_HASH_SECOND:
list.add(new HashRightOuterJoinBuildSecondDescriptor(this.keys1, this.keys2, false, true));
break;
case BROADCAST_HASH_SECOND:
default:
throw new CompilerException("Invalid join hint: " + hint + " for right outer join");
}
return list;
}
Aggregations