测流输出示例
/**
* 测流输出
* 本质上,就是将一个流中的数据打上标签,未打标签的数据叫主流,
* 打标签的数据流,叫侧流(非主流)
*
* 在Flink中,DataStream中的数据流,按照是否打标签,分为两类
* 1.侧流,就是打上标签的数据流,想要获取,就必须根据标签才能获取到
* 2.主流,就是未打标签的数据,直接操作DataStream就可以了
*/
public class SideOutputDemo {
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource<String> lines = env.socketTextStream("linux01", 7777);
//需指定泛型的类型 或者new OutputTag的子类(即使用匿名内部类)
//OutputTag<Integer> oddTag = new OutputTag<Integer>("odd-data") {};
OutputTag<Integer> oddTag = new OutputTag<>("odd-data", Types.INT);
OutputTag<Integer> evenTag = new OutputTag<>("even-data",Types.INT);
OutputTag<String> strTag = new OutputTag<>("str-data",Types.STRING);
SingleOutputStreamOperator<String> mainStream = lines.process(new ProcessFunction<Strin