Class AbstractMergeInnerJoinIterator<T1,​T2,​O>

    • Constructor Detail

      • AbstractMergeInnerJoinIterator

        public AbstractMergeInnerJoinIterator​(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. The output of the join() method is forwarded.

        This method first zig-zags between the two sorted inputs in order to find a common key, and then calls the join stub with the cross product of the values.

        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)