我想在 flatMap 函数中创建一个 DataStream。然而,当我运行
dataStream.print()
时,它什么也没显示。这是我的代码:
public class test {
static StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
public static void main(String[] args) throws Exception {
String s = "test message";
DataStream<String> data = env.fromElements(s);
data.flatMap(new customFlatMap()).print();
env.execute();
}
private static class customFlatMap extends RichFlatMapFunction<String, String> {
@Override
public void flatMap(String s, Collector<String> collector) {
DataStream<String> newStream = env.fromElements(s);
System.out.println("-----");
newStream.print();
System.out.println("-----");
collector.collect(s);
}
}
}
当我运行代码时,它会打印以下结果:
-----
-----
8> test message
两个破折号之间不显示任何内容。
有人可以帮我解释一下吗?预先感谢您!
您需要创建一个侧输出,如果您使用 FlatMap 函数,则无法完成此操作。