flink查看operater链的中间结果+SingleOutputStreamOperator的用法
flink的算子寫法常常是
data.func1.func2.func3......
這種寫法就不太好查看中間的結(jié)果到底是啥,不太好調(diào)試。
下面換一種寫法:
data
func1Operator=...
func2Operatro=...
?
public class dealwith {
? ? public static void main(String[] args) throws Exception {
? ? ? ? private static final String[] DATA = ......
? ? ? ? MapOperator<String, List<int>> things?= dataSource.map(new testMapFun2());
? ? ? ? FlatMapOperator<List<int>, String> myJson = things.flatMap(new FlatMapFunction<List<int>, String>() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void flatMap(List<int> int, Collector<String> collector) throws Exception {
? ? ? ? ? ? ? ? if(int!=null){?
? ? ? ? ? ? ? ? ? ? for (int item?: int) {
? ? ? ? ? ? ? ? ? ? ? ? collector.collect(JSON.toJSONString(item,true));
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? myJson.print();
? ? }
}
?
?
?
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
再比如這種SingleOutputStreamOperator的用法其實(shí)也是為了看中間結(jié)果
因?yàn)槲覀兂R姷腟tream用的多些
總結(jié)
以上是生活随笔為你收集整理的flink查看operater链的中间结果+SingleOutputStreamOperator的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年国庆假期时间表
- 下一篇: 关于flink的setCommitOff