Class JoinedStreams.WithWindow<T1,​T2,​KEY,​W extends Window>

  • Type Parameters:
    T1 - Type of the elements from the first input
    T2 - Type of the elements from the second input
    KEY - Type of the key. This must be the same for both inputs
    W - Type of Window on which the join operation works.
    Enclosing class:
    JoinedStreams<T1,​T2>

    @Public
    public static class JoinedStreams.WithWindow<T1,​T2,​KEY,​W extends Window>
    extends Object
    A join operation that has KeySelectors defined for both inputs as well as a WindowAssigner.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected WithWindow​(DataStream<T1> input1, DataStream<T2> input2, org.apache.flink.api.java.functions.KeySelector<T1,​KEY> keySelector1, org.apache.flink.api.java.functions.KeySelector<T2,​KEY> keySelector2, org.apache.flink.api.common.typeinfo.TypeInformation<KEY> keyType, WindowAssigner<? super org.apache.flink.util.TaggedUnion<T1,​T2>,​W> windowAssigner, Trigger<? super org.apache.flink.util.TaggedUnion<T1,​T2>,​? super W> trigger, Evictor<? super org.apache.flink.util.TaggedUnion<T1,​T2>,​? super W> evictor, Duration allowedLateness)  
    • Constructor Detail

      • WithWindow

        @PublicEvolving
        protected WithWindow​(DataStream<T1> input1,
                             DataStream<T2> input2,
                             org.apache.flink.api.java.functions.KeySelector<T1,​KEY> keySelector1,
                             org.apache.flink.api.java.functions.KeySelector<T2,​KEY> keySelector2,
                             org.apache.flink.api.common.typeinfo.TypeInformation<KEY> keyType,
                             WindowAssigner<? super org.apache.flink.util.TaggedUnion<T1,​T2>,​W> windowAssigner,
                             Trigger<? super org.apache.flink.util.TaggedUnion<T1,​T2>,​? super W> trigger,
                             Evictor<? super org.apache.flink.util.TaggedUnion<T1,​T2>,​? super W> evictor,
                             @Nullable
                             Duration allowedLateness)
    • Method Detail

      • trigger

        @PublicEvolving
        public JoinedStreams.WithWindow<T1,​T2,​KEY,​W> trigger​(Trigger<? super org.apache.flink.util.TaggedUnion<T1,​T2>,​? super W> newTrigger)
        Sets the Trigger that should be used to trigger window emission.
      • evictor

        @PublicEvolving
        public JoinedStreams.WithWindow<T1,​T2,​KEY,​W> evictor​(Evictor<? super org.apache.flink.util.TaggedUnion<T1,​T2>,​? super W> newEvictor)
        Sets the Evictor that should be used to evict elements from a window before emission.

        Note: When using an evictor window performance will degrade significantly, since pre-aggregation of window results cannot be used.

      • apply

        public <T> SingleOutputStreamOperator<T> apply​(org.apache.flink.api.common.functions.JoinFunction<T1,​T2,​T> function)
        Completes the join operation with the user function that is executed for each combination of elements with the same key in a window.
      • apply

        public <T> SingleOutputStreamOperator<T> apply​(org.apache.flink.api.common.functions.FlatJoinFunction<T1,​T2,​T> function,
                                                       org.apache.flink.api.common.typeinfo.TypeInformation<T> resultType)
        Completes the join operation with the user function that is executed for each combination of elements with the same key in a window.
      • apply

        public <T> SingleOutputStreamOperator<T> apply​(org.apache.flink.api.common.functions.FlatJoinFunction<T1,​T2,​T> function)
        Completes the join operation with the user function that is executed for each combination of elements with the same key in a window.
      • apply

        public <T> SingleOutputStreamOperator<T> apply​(org.apache.flink.api.common.functions.JoinFunction<T1,​T2,​T> function,
                                                       org.apache.flink.api.common.typeinfo.TypeInformation<T> resultType)
        Completes the join operation with the user function that is executed for each combination of elements with the same key in a window.