@Public public class CoGroupedStreams<T1,T2> extends Object
CoGroupedStreams represents two DataStreams that have been co-grouped.
A streaming co-group operation is evaluated over elements in a window.
To finalize co-group operation you also need to specify a KeySelector for both the
first and second input and a WindowAssigner.
Note: Right now, the groups are being built in memory so you need to ensure that they don't get too big. Otherwise the JVM might crash.
Example:
DataStream<Tuple2<String, Integer>> one = ...;
DataStream<Tuple2<String, Integer>> two = ...;
DataStream<T> result = one.coGroup(two)
.where(new MyFirstKeySelector())
.equalTo(new MyFirstKeySelector())
.window(TumblingEventTimeWindows.of(Duration.ofSeconds(5)))
.apply(new MyCoGroupFunction());
| Modifier and Type | Class and Description |
|---|---|
static class |
CoGroupedStreams.TaggedUnion<T1,T2>
Internal class for implementing tagged union co-group.
|
static class |
CoGroupedStreams.UnionSerializer<T1,T2>
TypeSerializer for CoGroupedStreams.TaggedUnion. |
static class |
CoGroupedStreams.UnionSerializerSnapshot<T1,T2>
The
TypeSerializerSnapshot for the CoGroupedStreams.UnionSerializer. |
class |
CoGroupedStreams.Where<KEY>
CoGrouped streams that have the key for one side defined.
|
static class |
CoGroupedStreams.WithWindow<T1,T2,KEY,W extends Window>
A co-group operation that has
KeySelectors defined for both inputs as
well as a WindowAssigner. |
| Constructor and Description |
|---|
CoGroupedStreams(DataStream<T1> input1,
DataStream<T2> input2)
Creates new CoGrouped data streams, which are the first step towards building a streaming
co-group.
|
| Modifier and Type | Method and Description |
|---|---|
<KEY> CoGroupedStreams.Where<KEY> |
where(org.apache.flink.api.java.functions.KeySelector<T1,KEY> keySelector)
Specifies a
KeySelector for elements from the first input. |
<KEY> CoGroupedStreams.Where<KEY> |
where(org.apache.flink.api.java.functions.KeySelector<T1,KEY> keySelector,
org.apache.flink.api.common.typeinfo.TypeInformation<KEY> keyType)
Specifies a
KeySelector for elements from the first input with explicit type
information. |
public CoGroupedStreams(DataStream<T1> input1, DataStream<T2> input2)
input1 - The first data stream.input2 - The second data stream.public <KEY> CoGroupedStreams.Where<KEY> where(org.apache.flink.api.java.functions.KeySelector<T1,KEY> keySelector)
KeySelector for elements from the first input.keySelector - The KeySelector to be used for extracting the first input's key for
partitioning.public <KEY> CoGroupedStreams.Where<KEY> where(org.apache.flink.api.java.functions.KeySelector<T1,KEY> keySelector, org.apache.flink.api.common.typeinfo.TypeInformation<KEY> keyType)
KeySelector for elements from the first input with explicit type
information.keySelector - The KeySelector to be used for extracting the first input's key for
partitioning.keyType - The type information describing the key type.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.