Search in sources :

Example 1 with ProcTimeIntervalJoin

use of org.apache.flink.table.runtime.operators.join.interval.ProcTimeIntervalJoin in project flink by apache.

the class StreamExecIntervalJoin method createProcTimeJoin.

private TwoInputTransformation<RowData, RowData, RowData> createProcTimeJoin(Transformation<RowData> leftInputTransform, Transformation<RowData> rightInputTransform, InternalTypeInfo<RowData> returnTypeInfo, IntervalJoinFunction joinFunction, JoinSpec joinSpec, IntervalJoinSpec.WindowBounds windowBounds, ReadableConfig config) {
    InternalTypeInfo<RowData> leftTypeInfo = (InternalTypeInfo<RowData>) leftInputTransform.getOutputType();
    InternalTypeInfo<RowData> rightTypeInfo = (InternalTypeInfo<RowData>) rightInputTransform.getOutputType();
    ProcTimeIntervalJoin procJoinFunc = new ProcTimeIntervalJoin(joinSpec.getJoinType(), windowBounds.getLeftLowerBound(), windowBounds.getLeftUpperBound(), leftTypeInfo, rightTypeInfo, joinFunction);
    return ExecNodeUtil.createTwoInputTransformation(leftInputTransform, rightInputTransform, createTransformationMeta(INTERVAL_JOIN_TRANSFORMATION, config), new KeyedCoProcessOperator<>(procJoinFunc), returnTypeInfo, leftInputTransform.getParallelism());
}
Also used : RowData(org.apache.flink.table.data.RowData) ProcTimeIntervalJoin(org.apache.flink.table.runtime.operators.join.interval.ProcTimeIntervalJoin) InternalTypeInfo(org.apache.flink.table.runtime.typeutils.InternalTypeInfo)

Aggregations

RowData (org.apache.flink.table.data.RowData)1 ProcTimeIntervalJoin (org.apache.flink.table.runtime.operators.join.interval.ProcTimeIntervalJoin)1 InternalTypeInfo (org.apache.flink.table.runtime.typeutils.InternalTypeInfo)1