Github user aljoscha commented on a diff in the pull request: https://github.com/apache/flink/pull/5425#discussion_r166972441 --- Diff: flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples/broadcast/BroadcastExample.java --- @@ -0,0 +1,137 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.flink.streaming.examples.broadcast; + +import org.apache.flink.api.common.functions.FlatMapFunction; +import org.apache.flink.api.common.functions.MapFunction; +import org.apache.flink.api.common.state.MapStateDescriptor; +import org.apache.flink.api.common.state.ValueState; +import org.apache.flink.api.common.state.ValueStateDescriptor; +import org.apache.flink.api.common.typeinfo.BasicTypeInfo; +import org.apache.flink.api.java.functions.KeySelector; +import org.apache.flink.api.java.tuple.Tuple2; +import org.apache.flink.runtime.state.KeyedStateFunction; +import org.apache.flink.streaming.api.datastream.BroadcastStream; +import org.apache.flink.streaming.api.datastream.DataStream; +import org.apache.flink.streaming.api.datastream.KeyedStream; +import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; +import org.apache.flink.streaming.api.functions.co.KeyedBroadcastProcessFunction; +import org.apache.flink.util.Collector; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Testing example. + */ +public class BroadcastExample { + + public static void main(String[] args) throws Exception { + + final List<Integer> input = new ArrayList<>(); + input.add(1); + input.add(2); + input.add(3); + input.add(4); + + final List<Tuple2<Integer, Integer>> keyedInput = new ArrayList<>(); + keyedInput.add(new Tuple2<>(1, 1)); + keyedInput.add(new Tuple2<>(1, 5)); + keyedInput.add(new Tuple2<>(2, 2)); + keyedInput.add(new Tuple2<>(2, 6)); + keyedInput.add(new Tuple2<>(3, 3)); + keyedInput.add(new Tuple2<>(3, 7)); + keyedInput.add(new Tuple2<>(4, 4)); + keyedInput.add(new Tuple2<>(4, 8)); + + final ValueStateDescriptor<String> valueState = new ValueStateDescriptor<>("any", BasicTypeInfo.STRING_TYPE_INFO); + + StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); + + final MapStateDescriptor<String, Integer> mapStateDescriptor = new MapStateDescriptor<>( + "Broadcast", BasicTypeInfo.STRING_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO + ); + + KeyedStream<Tuple2<Integer, Integer>, Integer> elementStream = env.fromCollection(keyedInput).rebalance() + .map(new MapFunction<Tuple2<Integer, Integer>, Tuple2<Integer, Integer>>() { + private static final long serialVersionUID = 8710586935083422712L; + + @Override + public Tuple2<Integer, Integer> map(Tuple2<Integer, Integer> value) { + return value; + } + }).setParallelism(4).keyBy(new KeySelector<Tuple2<Integer, Integer>, Integer>() { --- End diff -- The other calls should also go on new lines, I think that's the usual example style
---