1. 连接的流两条流可以是不同数据类型也可以是相同数据类型
2. 连接之后两条流会共享状态
3. 连接之后他们各自处理自己的逻辑
4. 连接之后返回的结果只能是一种数据类型
示例代码
/** * 流的 connect */ ConnectedStreams<String, String> connectedStreams = stream1.connect(stream2); SingleOutputStreamOperator<String> resultStream = connectedStreams.map(new CoMapFunction<String, String, String>() { // 共同的状态数据 String prefix = "doitedu_"; /** * 对 左流 处理的逻辑 * @param value * @return * @throws Exception */ @Override public String map1(String value) throws Exception { // 把数字*10,再返回字符串 return prefix + (Integer.parseInt(value)*10) + ""; } /** * 对 右流 处理的逻辑 * @param value * @return * @throws Exception */ @Override public String map2(String value) throws Exception { return prefix + value.toUpperCase(); } });