@Override public Dataset<Pair<KEY, OUT>> output(OutputHint... outputHints) { Flow flow = input.getFlow(); ReduceStateByKey<IN, KEY, VALUE, OUT, STATE, W> reduceStateByKey = new ReduceStateByKey<>(name, flow, input, keyExtractor, valueExtractor, windowing, stateFactory, stateMerger, Sets.newHashSet(outputHints)); flow.add(reduceStateByKey); return reduceStateByKey.output(); } }
@Override public Dataset<Pair<KEY, OUT>> output(OutputHint... outputHints) { Flow flow = input.getFlow(); ReduceStateByKey<IN, KEY, VALUE, OUT, STATE, W> reduceStateByKey = new ReduceStateByKey<>(name, flow, input, keyExtractor, valueExtractor, windowing, stateFactory, stateMerger, Sets.newHashSet(outputHints)); flow.add(reduceStateByKey); return reduceStateByKey.output(); } }
@SuppressWarnings("unchecked") @Override public DAG<Operator<?, ?>> getBasicOps() { StateSupport.MergeFromStateMerger stateCombine = new StateSupport.MergeFromStateMerger<>(); StateFactory stateFactory = reducer.isCombinable() ? new CombiningReduceState.Factory<>((ReduceFunctor) reducer) : new NonCombiningReduceState.Factory<>(reducer, valueComparator); Flow flow = getFlow(); Operator reduceState = new ReduceStateByKey(getName(), flow, input, keyExtractor, valueExtractor, windowing, stateFactory, stateCombine, getHints()); return DAG.of(reduceState); }
@SuppressWarnings("unchecked") @Override public DAG<Operator<?, ?>> getBasicOps() { StateSupport.MergeFromStateMerger stateCombine = new StateSupport.MergeFromStateMerger<>(); StateFactory stateFactory = reducer.isCombinable() ? new CombiningReduceState.Factory<>((ReduceFunctor) reducer) : new NonCombiningReduceState.Factory<>(reducer, valueComparator); Flow flow = getFlow(); Operator reduceState = new ReduceStateByKey(getName(), flow, input, keyExtractor, valueExtractor, windowing, stateFactory, stateCombine, getHints()); return DAG.of(reduceState); }
MaxScored<VALUE, SCORE>, W> reduce = new ReduceStateByKey<>(getName() + "::ReduceStateByKey", flow, input, keyExtractor, e -> Pair.of(valueFn.apply(e), scoreFn.apply(e)),
MaxScored<VALUE, SCORE>, W> reduce = new ReduceStateByKey<>(getName() + "::ReduceStateByKey", flow, input, keyExtractor, e -> Pair.of(valueFn.apply(e), scoreFn.apply(e)),
reduce = new ReduceStateByKey( getName() + "::ReduceStateByKey", flow,
reduce = new ReduceStateByKey( getName() + "::ReduceStateByKey", flow,