CoGroupedStreams

org.apache.flinkx.api.CoGroupedStreams
@Public
class CoGroupedStreams[T1, T2](input1: DataStream[T1], input2: DataStream[T2])

CoGroupedStreams represents two DataStreams that have been co-grouped. A streaming co-group operation is evaluated over elements in a window.

To finalize the 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:

val one: DataStream[(String, Int)]  = ...
val two: DataStream[(String, Int)] = ...

val result = one.coGroup(two)
   .where(new MyFirstKeySelector())
   .equalTo(new MyFirstKeySelector())
   .window(TumblingEventTimeWindows.of(Time.of(5, TimeUnit.SECONDS)))
   .apply(new MyCoGroupFunction())
}

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

class Where[KEY](keySelector1: KeySelector[T1, KEY], keyType: TypeInformation[KEY])

A co-group operation that has KeySelectors defined for the first input.

A co-group operation that has KeySelectors defined for the first input.

You need to specify a KeySelector for the second input using equalTo before you can proceed with specifying a WindowAssigner using EqualTo.window.

Type parameters

KEY

Type of the key. This must be the same for both inputs

Attributes

Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

def where[KEY : TypeInformation](keySelector: T1 => KEY): Where[KEY]

Specifies a KeySelector for elements from the first input.

Specifies a KeySelector for elements from the first input.

Attributes