@Override protected Dataset<Pair<Integer, Long>> getOutput( Dataset<Pair<Integer, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return CountByKey.of(input) .keyBy(Pair::getFirst) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Integer> getOutput(Dataset<Pair<Integer, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return Distinct.of(input) .mapped(Pair::getFirst) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Integer> getOutput(Dataset<Pair<Integer, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return Distinct.of(input) .mapped(Pair::getFirst) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Integer, Long>> getOutput( Dataset<Pair<Integer, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return CountByKey.of(input) .keyBy(Pair::getFirst) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Integer> getOutput(Dataset<Pair<Integer, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return Distinct.of(input) .mapped(Pair::getFirst) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Integer> getOutput(Dataset<Pair<Integer, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return Distinct.of(input) .mapped(Pair::getFirst) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Integer, Long>> getOutput(Dataset<Integer> input) { // ~ use stable event-time watermark input = AssignEventTime.of(input).using(e -> 0).output(); return CountByKey.of(input) .keyBy(e -> e) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Integer, Long>> getOutput(Dataset<Integer> input) { // ~ use stable event-time watermark input = AssignEventTime.of(input).using(e -> 0).output(); return CountByKey.of(input) .keyBy(e -> e) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Integer, Long>> getOutput(Dataset<Integer> input) { // ~ use stable event-time watermark input = AssignEventTime.of(input).using(e -> 0).output(); return CountByKey.of(input) .keyBy(e -> e) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Integer, Long>> getOutput(Dataset<Integer> input) { // ~ use stable event-time watermark input = AssignEventTime.of(input).using(e -> 0).output(); return CountByKey.of(input) .keyBy(e -> e) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Word, Long>> getOutput(Dataset<Pair<Word, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return ReduceStateByKey.of(input) .keyBy(Pair::getFirst) .valueBy(Pair::getFirst) .stateFactory((StateFactory<Word, Long, CountState<Word>>) CountState::new) .mergeStatesBy(CountState::combine) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Word, Long>> getOutput(Dataset<Pair<Word, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return ReduceByKey.of(input) .keyBy(Pair::getFirst) .valueBy(e -> 1L) .combineBy(Sums.ofLongs()) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Integer, Long>> getOutput(Dataset<Pair<Integer, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return ReduceByKey.of(input) .keyBy(Pair::getFirst, Integer.class) .valueBy(e -> 1L) .combineBy(Sums.ofLongs()) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Word, Long>> getOutput(Dataset<Pair<Word, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return ReduceStateByKey.of(input) .keyBy(Pair::getFirst) .valueBy(Pair::getFirst) .stateFactory((StateFactory<Word, Long, CountState<Word>>) CountState::new) .mergeStatesBy(CountState::combine) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Word, Long>> getOutput(Dataset<Pair<Word, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return ReduceByKey.of(input) .keyBy(Pair::getFirst) .valueBy(e -> 1L) .combineBy(Sums.ofLongs()) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Pair<Integer, Long>> getOutput(Dataset<Pair<Integer, Long>> input) { input = AssignEventTime.of(input).using(Pair::getSecond).output(); return ReduceByKey.of(input) .keyBy(Pair::getFirst, Integer.class) .valueBy(e -> 1L) .combineBy(Sums.ofLongs()) .windowBy(Time.of(Duration.ofSeconds(1))) .output(); }
@Override protected Dataset<Triple<TimeInterval, String, String>> getOutput(Dataset<Pair<String, Long>> left, Dataset<Pair<String, Long>> right) { left = AssignEventTime.of(left).using(Pair::getSecond).output(); right = AssignEventTime.of(right).using(Pair::getSecond).output(); Dataset<Pair<String, Triple<TimeInterval, String, String>>> joined = Join.of(left, right) .by(p -> "", p -> "", String.class) .using((Pair<String, Long> l, Pair<String, Long> r, Collector<Triple<TimeInterval, String, String>> c) -> c.collect(Triple.of((TimeInterval) c.getWindow(), l.getFirst(), r.getFirst()))) .windowBy(Session.of(Duration.ofMillis(10))) .output(); return MapElements.of(joined).using(Pair::getSecond).output(); }
@Override protected Dataset<Integer> getOutput(Dataset<Integer> input) { Dataset<Integer> withEventTime = AssignEventTime.of(input) .using(i -> 1000L * i) .output(); return ReduceWindow.of(withEventTime) .combineBy(Sums.ofInts()) .windowBy(Time.of(Duration.ofHours(1))) .output(); }
@Override protected Dataset<Integer> getOutput(Dataset<Integer> input) { Dataset<Integer> withEventTime = AssignEventTime.of(input) .using(i -> 1000L * i) .output(); return ReduceWindow.of(withEventTime) .combineBy(Sums.ofInts()) .windowBy(Time.of(Duration.ofHours(1))) .output(); }
@Override protected Dataset<Integer> getOutput(Dataset<Integer> input) { Dataset<Integer> withEventTime = AssignEventTime.of(input) .using(i -> 1000L * i) .output(); Dataset<Integer> first = ReduceWindow.of(withEventTime) .combineBy(Sums.ofInts()) .windowBy(Time.of(Duration.ofHours(1))) .output(); return ReduceWindow.of(first) .combineBy(Sums.ofInts()) .output(); }