public static DataSet<Tuple3<Integer, String, Integer>> getRankDataSet(ExecutionEnvironment env) { List<Tuple3<Integer, String, Integer>> data = new ArrayList<Tuple3<Integer, String, Integer>>(100); for (Object [] rank : RANKS) { data.add(new Tuple3<Integer, String, Integer>((Integer) rank[0], (String) rank[1], (Integer) rank[2])); } return env.fromCollection(data); }
@Override public void combine(Iterable<Tuple3<Integer, Long, String>> values, Collector<Tuple3<Integer, Long, String>> out) throws Exception { for (Tuple3<Integer, Long, String> value : values) { out.collect(new Tuple3<>(value.f0, value.f1, value.f2)); } }
@Override public void process( Context ctx, Iterable<Tuple2<String, Integer>> values, Collector<Tuple3<String, String, Integer>> out) throws Exception { for (Tuple2<String, Integer> in : values) { out.collect(new Tuple3<>(in.f0, in.f0, in.f1)); } } });
@Override public void apply( TimeWindow window, Iterable<Tuple2<String, Integer>> values, Collector<Tuple3<String, String, Integer>> out) throws Exception { for (Tuple2<String, Integer> in : values) { out.collect(new Tuple3<>(in.f0, in.f0, in.f1)); } } }
@Override public void apply(String key, TimeWindow window, Iterable<Tuple2<String, Integer>> values, Collector<Tuple3<String, String, Integer>> out) throws Exception { for (Tuple2<String, Integer> in : values) { out.collect(new Tuple3<>(in.f0, in.f0, in.f1)); } } });
@Override public void join(Tuple3<Integer, Long, String> first, Tuple5<Integer, Long, Integer, String, Long> second, Collector<Tuple3<String, String, Integer>> out) throws Exception { out.collect(new Tuple3<>(first == null ? null : first.f2, second == null ? null : second.f3, broadcast)); } }
@Override public void reduce(Iterable<Tuple3<Integer, Long, String>> values, Collector<Tuple3<Integer, Long, String>> out) throws Exception { for (Tuple3<Integer, Long, String> value : values) { out.collect(new Tuple3<>(value.f0, value.f1, value.f2)); } } }
@Override public void combine(Iterable<Tuple3<Integer, Long, String>> values, Collector<Tuple3<Integer, Long, String>> out) { Tuple3<Integer, Long, String> o = new Tuple3<>(0, 0L, ""); for (Tuple3<Integer, Long, String> t : values) { o.f0 += t.f0; o.f1 = t.f1; o.f2 = "test" + o.f1; } out.collect(o); }
@Override public void process( Context ctx, Iterable<Tuple2<String, Integer>> values, Collector<Tuple3<String, String, Integer>> out) throws Exception { for (Tuple2<String, Integer> in : values) { out.collect(new Tuple3<>(in.f0, in.f0, in.f1)); } } });
@Override public void apply( TimeWindow window, Iterable<Tuple2<String, Integer>> values, Collector<Tuple3<String, String, Integer>> out) throws Exception { for (Tuple2<String, Integer> in : values) { out.collect(new Tuple3<>(in.f0, in.f0, in.f1)); } } });
@Override public void apply( TimeWindow window, Iterable<Tuple3<String, String, Integer>> values, Collector<Tuple3<String, String, Integer>> out) throws Exception { for (Tuple3<String, String, Integer> in : values) { out.collect(new Tuple3<>(in.f0, in.f1, in.f2)); } } });
@Override public void apply(String key, TimeWindow window, Iterable<Tuple2<String, Integer>> values, Collector<Tuple3<String, String, Integer>> out) throws Exception { for (Tuple2<String, Integer> in : values) { out.collect(new Tuple3<>(in.f0, in.f0, in.f1)); } } });
@Override public void apply(String key, TimeWindow window, Iterable<Tuple3<String, String, Integer>> values, Collector<Tuple3<String, String, Integer>> out) throws Exception { for (Tuple3<String, String, Integer> in : values) { out.collect(new Tuple3<>(in.f0, in.f1, in.f2)); } } });
@Override public Tuple3<K, K, K> join(Triad<K> triad, Edge<K, NullValue> edge) throws Exception { return new Tuple3<>(triad.getFirstVertex(), triad.getSecondVertex(), triad.getThirdVertex()); } }
@Override public Tuple3<Integer, Integer, String> deserialize(byte[] messageKey, byte[] message, String topic, int partition, long offset) throws IOException { DataInputView in = new DataInputViewStreamWrapper(new ByteArrayInputStream(message)); Tuple2<Integer, Integer> t2 = ts.deserialize(in); return new Tuple3<>(t2.f0, t2.f1, topic); }
@Override public void apply(String key, TimeWindow window, Iterable<Tuple2<String, Integer>> values, Collector<Tuple3<String, Long, Long>> out) throws Exception { for (Tuple2<String, Integer> val: values) { out.collect(new Tuple3<>(key + "-" + val.f1, window.getStart(), window.getEnd())); } } }
@Override public void process(String key, Context context, Iterable<Tuple2<String, Integer>> values, Collector<Tuple3<String, Long, Long>> out) throws Exception { TimeWindow window = context.window(); for (Tuple2<String, Integer> val: values) { out.collect(new Tuple3<>(key + "-" + val.f1, window.getStart(), window.getEnd())); } } }
@Test(expected = SemanticProperties.InvalidSemanticAnnotationException.class) public void testBinaryForwardedOverwritingInLine5() { ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); @SuppressWarnings("unchecked") DataSet<Tuple3<Long, Long, Long>> input1 = env.fromElements(new Tuple3<Long, Long, Long>(3L, 4L, 5L)); @SuppressWarnings("unchecked") DataSet<Tuple3<Long, Long, Long>> input2 = env.fromElements(new Tuple3<Long, Long, Long>(3L, 2L, 1L)); input1.join(input2).where(0).equalTo(0).with(new AllForwardedExceptJoin<Long>()) .withForwardedFieldsFirst("0->1;"); }
@Test(expected = SemanticProperties.InvalidSemanticAnnotationException.class) public void testUnaryForwardedOverwritingInLine1() { ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); @SuppressWarnings("unchecked") DataSet<Tuple3<Long, Long, Long>> input = env.fromElements(new Tuple3<Long, Long, Long>(3L, 2L, 1L)); input.map(new WildcardForwardedMapper<Tuple3<Long, Long, Long>>()).withForwardedFields("0->1; 2"); }
@SuppressWarnings("unchecked") private static DataSet<Tuple3<Double, StringValue, LongValue>> getSourceDataSet(ExecutionEnvironment env, int parallelism) { return env .fromElements(new Tuple3<>(0.0, new StringValue(""), new LongValue(1L))) .setParallelism(parallelism); } }