@Override public DAG<Operator<?, ?>> getBasicOps() { Flow flow = input.getFlow(); String name = getName() + "::" + "ReduceByKey"; ReduceByKey<IN, ELEM, Void, Void, W> reduce = new ReduceByKey<>(name, flow, input, getKeyExtractor(), null, e -> null, windowing, (CombinableReduceFunction<Void>) e -> null, Collections.emptySet()); MapElements format = new MapElements<>( getName() + "::" + "Map", flow, reduce.output(), Pair::getFirst, getHints()); DAG<Operator<?, ?>> dag = DAG.of(reduce); dag.add(format, reduce); return dag; } }
@Override public DAG<Operator<?, ?>> getBasicOps() { Flow flow = input.getFlow(); String name = getName() + "::" + "ReduceByKey"; ReduceByKey<IN, ELEM, Void, Void, W> reduce = new ReduceByKey<>(name, flow, input, getKeyExtractor(), null, e -> null, windowing, (CombinableReduceFunction<Void>) e -> null, Collections.emptySet()); MapElements format = new MapElements<>( getName() + "::" + "Map", flow, reduce.output(), Pair::getFirst, getHints()); DAG<Operator<?, ?>> dag = DAG.of(reduce); dag.add(format, reduce); return dag; } }
@Test public void testBuild_ImplicitName() { Flow flow = Flow.create("TEST"); Dataset<String> dataset = Util.createMockDataset(flow, 3); Dataset<String> uniq = Distinct.of(dataset).output(); Distinct distinct = (Distinct) flow.operators().iterator().next(); assertEquals("Distinct", distinct.getName()); }
@Test public void testBuild() { Flow flow = Flow.create("TEST"); Dataset<String> dataset = Util.createMockDataset(flow, 3); Time<String> windowing = Time.of(Duration.ofHours(1)); Dataset<String> uniq = Distinct.named("Distinct1") .of(dataset) .windowBy(windowing) .output(); assertEquals(flow, uniq.getFlow()); assertEquals(1, flow.size()); Distinct distinct = (Distinct) flow.operators().iterator().next(); assertEquals(flow, distinct.getFlow()); assertEquals("Distinct1", distinct.getName()); assertEquals(uniq, distinct.output()); assertSame(windowing, distinct.getWindowing()); }