@Override protected Dataset<Pair<String, Integer>> getOutput(Dataset<Integer> input) { return ReduceStateByKey.of(input) .keyBy(e -> "") .valueBy(e -> e) .stateFactory(CountingSortState::new) .mergeStatesBy((target, others) -> {}) .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(); }
/** * Define a function that reduces all values related to one key into one result object. * The function is combinable (associative and commutative) so it can be used to * compute partial results before shuffle. * * @param reducer function that reduces all values into one output object * @return next builder to complete the setup of the {@link ReduceByKey} operator */ default DatasetBuilder4<IN, KEY, VALUE, VALUE> combineBy( CombinableReduceFunction<VALUE> reducer) { return reduceBy(toReduceFunctor(reducer)); }
@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<String, Integer>> getOutput(Dataset<Integer> input) { return ReduceStateByKey.of(input) .keyBy(e -> "") .valueBy(e -> e) .stateFactory(CountingSortState::new) .mergeStatesBy((target, others) -> {}) .output(); }
@Override protected Dataset<Pair<String, Integer>> getOutput(Dataset<Integer> input) { return ReduceStateByKey.of(input) .keyBy(e -> "") .valueBy(e -> e) .stateFactory(SortState::new) .mergeStatesBy(SortState::combine) .output(); }
@Override protected Dataset<Pair<String, Integer>> getOutput(Dataset<Integer> input) { return ReduceStateByKey.of(input) .keyBy(e -> "") .valueBy(e -> e) .stateFactory(SortState::new) .mergeStatesBy(SortState::combine) .output(); }