public static class DatasetBuilder5<IN, KEY, VALUE, OUT, W extends Window> extends DatasetBuilder4<IN, KEY, VALUE, OUT> implements Builders.OutputValues<KEY, OUT> { @Nullable private final Windowing<IN, W> windowing; DatasetBuilder5( String name, Dataset<IN> input, UnaryFunction<IN, KEY> keyExtractor, @Nullable Class<KEY> keyClass, UnaryFunction<IN, VALUE> valueExtractor, ReduceFunctor<VALUE, OUT> reducer, @Nullable Windowing<IN, W> windowing, @Nullable BinaryFunction<VALUE, VALUE, Integer> valuesComparator) { super(name, input, keyExtractor, keyClass, valueExtractor, reducer, valuesComparator); this.windowing = windowing; } @Override public Dataset<Pair<KEY, OUT>> output(OutputHint... outputHints) { Flow flow = input.getFlow(); ReduceByKey<IN, KEY, VALUE, OUT, W> reduce = new ReduceByKey<>( name, flow, input, keyExtractor,
public static class DatasetBuilder5<IN, KEY, VALUE, OUT, W extends Window> extends DatasetBuilder4<IN, KEY, VALUE, OUT> implements Builders.OutputValues<KEY, OUT> { @Nullable private final Windowing<IN, W> windowing; DatasetBuilder5( String name, Dataset<IN> input, UnaryFunction<IN, KEY> keyExtractor, @Nullable Class<KEY> keyClass, UnaryFunction<IN, VALUE> valueExtractor, ReduceFunctor<VALUE, OUT> reducer, @Nullable Windowing<IN, W> windowing, @Nullable BinaryFunction<VALUE, VALUE, Integer> valuesComparator) { super(name, input, keyExtractor, keyClass, valueExtractor, reducer, valuesComparator); this.windowing = windowing; } @Override public Dataset<Pair<KEY, OUT>> output(OutputHint... outputHints) { Flow flow = input.getFlow(); ReduceByKey<IN, KEY, VALUE, OUT, W> reduce = new ReduceByKey<>( name, flow, input, keyExtractor,
/** * 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)); }
public OutputBuilder<T, VALUE, VALUE> combineBy( CombinableReduceFunction<VALUE> reducer) { return new OutputBuilder<>( name, input, valueExtractor, ReduceByKey.toReduceFunctor(reducer), null, null); } }
public OutputBuilder<T, VALUE, VALUE> combineBy( CombinableReduceFunction<VALUE> reducer) { return new OutputBuilder<>( name, input, valueExtractor, ReduceByKey.toReduceFunctor(reducer), null, null); } }
/** * 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)); }