org.apache.flink.api.common.operators.base.OuterJoinOperatorBase Java Examples

The following examples show how to use org.apache.flink.api.common.operators.base.OuterJoinOperatorBase. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: JoinOperator.java    From Flink-CEPplus with Apache License 2.0 5 votes vote down vote up
@SuppressWarnings("unchecked")
public JoinOperatorBase<?, ?, OUT, ?> build() {
	JoinOperatorBase<?, ?, OUT, ?> operator;
	if (joinType.isOuter()) {
		operator = new OuterJoinOperatorBase<>(
				udf,
				new BinaryOperatorInformation(input1Type, input2Type, resultType),
				this.keys1.computeLogicalKeyPositions(),
				this.keys2.computeLogicalKeyPositions(),
				this.name,
				getOuterJoinType());
	} else {
		operator = new InnerJoinOperatorBase<>(
				udf,
				new BinaryOperatorInformation(input1Type, input2Type, resultType),
				this.keys1.computeLogicalKeyPositions(),
				this.keys2.computeLogicalKeyPositions(),
				this.name);
	}

	operator.setFirstInput(input1);
	operator.setSecondInput(input2);
	operator.setParallelism(parallelism);
	operator.setCustomPartitioner(partitioner);
	operator.setJoinHint(joinHint);
	return operator;
}
 
Example #2
Source File: JoinOperator.java    From Flink-CEPplus with Apache License 2.0 5 votes vote down vote up
private OuterJoinOperatorBase.OuterJoinType getOuterJoinType() {
	switch (joinType) {
		case LEFT_OUTER:
			return OuterJoinOperatorBase.OuterJoinType.LEFT;
		case RIGHT_OUTER:
			return OuterJoinOperatorBase.OuterJoinType.RIGHT;
		case FULL_OUTER:
			return OuterJoinOperatorBase.OuterJoinType.FULL;
		default:
			throw new UnsupportedOperationException();
	}
}
 
Example #3
Source File: OuterJoinNode.java    From Flink-CEPplus with Apache License 2.0 5 votes vote down vote up
private List<OperatorDescriptorDual> getDataProperties() {
	OuterJoinOperatorBase<?, ?, ?, ?> operator = getOperator();

	OuterJoinType type = operator.getOuterJoinType();

	JoinHint joinHint = operator.getJoinHint();
	joinHint = joinHint == null ? JoinHint.OPTIMIZER_CHOOSES : joinHint;

	List<OperatorDescriptorDual> list;
	switch (type) {
		case LEFT:
			list = createLeftOuterJoinDescriptors(joinHint);
			break;
		case RIGHT:
			list = createRightOuterJoinDescriptors(joinHint);
			break;
		case FULL:
			list = createFullOuterJoinDescriptors(joinHint);
			break;
		default:
			throw new CompilerException("Unknown outer join type: " + type);
	}

	Partitioner<?> customPartitioner = operator.getCustomPartitioner();
	if (customPartitioner != null) {
		for (OperatorDescriptorDual desc : list) {
			((AbstractJoinDescriptor) desc).setCustomPartitioner(customPartitioner);
		}
	}
	return list;
}
 
Example #4
Source File: JoinOperator.java    From flink with Apache License 2.0 5 votes vote down vote up
@SuppressWarnings("unchecked")
public JoinOperatorBase<?, ?, OUT, ?> build() {
	JoinOperatorBase<?, ?, OUT, ?> operator;
	if (joinType.isOuter()) {
		operator = new OuterJoinOperatorBase<>(
				udf,
				new BinaryOperatorInformation(input1Type, input2Type, resultType),
				this.keys1.computeLogicalKeyPositions(),
				this.keys2.computeLogicalKeyPositions(),
				this.name,
				getOuterJoinType());
	} else {
		operator = new InnerJoinOperatorBase<>(
				udf,
				new BinaryOperatorInformation(input1Type, input2Type, resultType),
				this.keys1.computeLogicalKeyPositions(),
				this.keys2.computeLogicalKeyPositions(),
				this.name);
	}

	operator.setFirstInput(input1);
	operator.setSecondInput(input2);
	operator.setParallelism(parallelism);
	operator.setCustomPartitioner(partitioner);
	operator.setJoinHint(joinHint);
	return operator;
}
 
Example #5
Source File: JoinOperator.java    From flink with Apache License 2.0 5 votes vote down vote up
private OuterJoinOperatorBase.OuterJoinType getOuterJoinType() {
	switch (joinType) {
		case LEFT_OUTER:
			return OuterJoinOperatorBase.OuterJoinType.LEFT;
		case RIGHT_OUTER:
			return OuterJoinOperatorBase.OuterJoinType.RIGHT;
		case FULL_OUTER:
			return OuterJoinOperatorBase.OuterJoinType.FULL;
		default:
			throw new UnsupportedOperationException();
	}
}
 
Example #6
Source File: OuterJoinNode.java    From flink with Apache License 2.0 5 votes vote down vote up
private List<OperatorDescriptorDual> getDataProperties() {
	OuterJoinOperatorBase<?, ?, ?, ?> operator = getOperator();

	OuterJoinType type = operator.getOuterJoinType();

	JoinHint joinHint = operator.getJoinHint();
	joinHint = joinHint == null ? JoinHint.OPTIMIZER_CHOOSES : joinHint;

	List<OperatorDescriptorDual> list;
	switch (type) {
		case LEFT:
			list = createLeftOuterJoinDescriptors(joinHint);
			break;
		case RIGHT:
			list = createRightOuterJoinDescriptors(joinHint);
			break;
		case FULL:
			list = createFullOuterJoinDescriptors(joinHint);
			break;
		default:
			throw new CompilerException("Unknown outer join type: " + type);
	}

	Partitioner<?> customPartitioner = operator.getCustomPartitioner();
	if (customPartitioner != null) {
		for (OperatorDescriptorDual desc : list) {
			((AbstractJoinDescriptor) desc).setCustomPartitioner(customPartitioner);
		}
	}
	return list;
}
 
Example #7
Source File: JoinOperator.java    From flink with Apache License 2.0 5 votes vote down vote up
@SuppressWarnings("unchecked")
public JoinOperatorBase<?, ?, OUT, ?> build() {
	JoinOperatorBase<?, ?, OUT, ?> operator;
	if (joinType.isOuter()) {
		operator = new OuterJoinOperatorBase<>(
				udf,
				new BinaryOperatorInformation(input1Type, input2Type, resultType),
				this.keys1.computeLogicalKeyPositions(),
				this.keys2.computeLogicalKeyPositions(),
				this.name,
				getOuterJoinType());
	} else {
		operator = new InnerJoinOperatorBase<>(
				udf,
				new BinaryOperatorInformation(input1Type, input2Type, resultType),
				this.keys1.computeLogicalKeyPositions(),
				this.keys2.computeLogicalKeyPositions(),
				this.name);
	}

	operator.setFirstInput(input1);
	operator.setSecondInput(input2);
	operator.setParallelism(parallelism);
	operator.setCustomPartitioner(partitioner);
	operator.setJoinHint(joinHint);
	return operator;
}
 
Example #8
Source File: JoinOperator.java    From flink with Apache License 2.0 5 votes vote down vote up
private OuterJoinOperatorBase.OuterJoinType getOuterJoinType() {
	switch (joinType) {
		case LEFT_OUTER:
			return OuterJoinOperatorBase.OuterJoinType.LEFT;
		case RIGHT_OUTER:
			return OuterJoinOperatorBase.OuterJoinType.RIGHT;
		case FULL_OUTER:
			return OuterJoinOperatorBase.OuterJoinType.FULL;
		default:
			throw new UnsupportedOperationException();
	}
}
 
Example #9
Source File: OuterJoinNode.java    From flink with Apache License 2.0 5 votes vote down vote up
private List<OperatorDescriptorDual> getDataProperties() {
	OuterJoinOperatorBase<?, ?, ?, ?> operator = getOperator();

	OuterJoinType type = operator.getOuterJoinType();

	JoinHint joinHint = operator.getJoinHint();
	joinHint = joinHint == null ? JoinHint.OPTIMIZER_CHOOSES : joinHint;

	List<OperatorDescriptorDual> list;
	switch (type) {
		case LEFT:
			list = createLeftOuterJoinDescriptors(joinHint);
			break;
		case RIGHT:
			list = createRightOuterJoinDescriptors(joinHint);
			break;
		case FULL:
			list = createFullOuterJoinDescriptors(joinHint);
			break;
		default:
			throw new CompilerException("Unknown outer join type: " + type);
	}

	Partitioner<?> customPartitioner = operator.getCustomPartitioner();
	if (customPartitioner != null) {
		for (OperatorDescriptorDual desc : list) {
			((AbstractJoinDescriptor) desc).setCustomPartitioner(customPartitioner);
		}
	}
	return list;
}
 
Example #10
Source File: OuterJoinNode.java    From Flink-CEPplus with Apache License 2.0 4 votes vote down vote up
/**
 * Creates a new two input node for the optimizer plan, representing the given operator.
 *
 * @param operator The operator that the optimizer DAG node should represent.
 */
public OuterJoinNode(OuterJoinOperatorBase<?, ?, ?, ?> operator) {
	super(operator);

	this.dataProperties = getDataProperties();
}
 
Example #11
Source File: OuterJoinNode.java    From Flink-CEPplus with Apache License 2.0 4 votes vote down vote up
@Override
public OuterJoinOperatorBase<?, ?, ?, ?> getOperator() {
	return (OuterJoinOperatorBase<?, ?, ?, ?>) super.getOperator();
}
 
Example #12
Source File: OuterJoinNode.java    From flink with Apache License 2.0 4 votes vote down vote up
/**
 * Creates a new two input node for the optimizer plan, representing the given operator.
 *
 * @param operator The operator that the optimizer DAG node should represent.
 */
public OuterJoinNode(OuterJoinOperatorBase<?, ?, ?, ?> operator) {
	super(operator);

	this.dataProperties = getDataProperties();
}
 
Example #13
Source File: OuterJoinNode.java    From flink with Apache License 2.0 4 votes vote down vote up
@Override
public OuterJoinOperatorBase<?, ?, ?, ?> getOperator() {
	return (OuterJoinOperatorBase<?, ?, ?, ?>) super.getOperator();
}
 
Example #14
Source File: OuterJoinNode.java    From flink with Apache License 2.0 4 votes vote down vote up
/**
 * Creates a new two input node for the optimizer plan, representing the given operator.
 *
 * @param operator The operator that the optimizer DAG node should represent.
 */
public OuterJoinNode(OuterJoinOperatorBase<?, ?, ?, ?> operator) {
	super(operator);

	this.dataProperties = getDataProperties();
}
 
Example #15
Source File: OuterJoinNode.java    From flink with Apache License 2.0 4 votes vote down vote up
@Override
public OuterJoinOperatorBase<?, ?, ?, ?> getOperator() {
	return (OuterJoinOperatorBase<?, ?, ?, ?>) super.getOperator();
}