Class AbstractMergeOuterJoinIterator<T1,​T2,​O>

    • Constructor Detail

      • AbstractMergeOuterJoinIterator

        public AbstractMergeOuterJoinIterator​(org.apache.flink.api.common.operators.base.OuterJoinOperatorBase.OuterJoinType outerJoinType,
                                              org.apache.flink.util.MutableObjectIterator<T1> input1,
                                              org.apache.flink.util.MutableObjectIterator<T2> input2,
                                              org.apache.flink.api.common.typeutils.TypeSerializer<T1> serializer1,
                                              org.apache.flink.api.common.typeutils.TypeComparator<T1> comparator1,
                                              org.apache.flink.api.common.typeutils.TypeSerializer<T2> serializer2,
                                              org.apache.flink.api.common.typeutils.TypeComparator<T2> comparator2,
                                              org.apache.flink.api.common.typeutils.TypePairComparator<T1,​T2> pairComparator,
                                              MemoryManager memoryManager,
                                              IOManager ioManager,
                                              int numMemoryPages,
                                              AbstractInvokable parentTask)
                                       throws MemoryAllocationException
        Throws:
        MemoryAllocationException
    • Method Detail

      • callWithNextKey

        public boolean callWithNextKey​(org.apache.flink.api.common.functions.FlatJoinFunction<T1,​T2,​O> joinFunction,
                                       org.apache.flink.util.Collector<O> collector)
                                throws Exception
        Calls the JoinFunction#join() method for all two key-value pairs that share the same key and come from different inputs. Furthermore, depending on the outer join type (LEFT, RIGHT, FULL), all key-value pairs where no matching partner from the other input exists are joined with null. The output of the join() method is forwarded.
        Specified by:
        callWithNextKey in interface JoinTaskIterator<T1,​T2,​O>
        Specified by:
        callWithNextKey in class AbstractMergeIterator<T1,​T2,​O>
        Parameters:
        joinFunction - The match stub containing the match function which is called with the keys.
        collector - The collector to pass the match function.
        Returns:
        True, if a next key exists, false if no more keys exist.
        Throws:
        Exception - Forwards all exceptions from the user code and the I/O system.
        See Also:
        JoinTaskIterator.callWithNextKey(org.apache.flink.api.common.functions.FlatJoinFunction, org.apache.flink.util.Collector)