Apache Flink 零基础入门(八)Flink中指定算子的方式
生活随笔
收集整理的這篇文章主要介紹了
Apache Flink 零基础入门(八)Flink中指定算子的方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們之前在使用flatMap時,傳了一個new FlatMapFunction匿名內部類。而這僅僅是其中的一種方式。
方式一:實現MapFunction接口
最簡單的方式就是實現一個MapFunction接口,例如:
text.flatMap(new MyFlatMapFunction()).keyBy(new KeySelector<WC, Object>() {@Overridepublic Object getKey(WC value) throws Exception {return value.word;}}).timeWindow(Time.seconds(5)).sum("count").print().setParallelism(1); public static class MyFlatMapFunction implements FlatMapFunction<String, WC> {@Overridepublic void flatMap(String value, Collector<WC> out) throws Exception {String[] tokens = value.toLowerCase().split(",");for (String token : tokens) {if (token.length() > 0) {out.collect(new WC(token, 1));}}}}方式二:匿名內部類
這種方式就是我們之前一直使用的方式。
方式三:java8 Lambdas
方式四:Rich functions
text.flatMap(new RichFlatMapFunction<String, WC>() {@Overridepublic void flatMap(String value, Collector<WC> out) throws Exception {String[] tokens = value.toLowerCase().split(",");for (String token : tokens) {if (token.length() > 0) {out.collect(new WC(token, 1));}}}})繼承一個RichFlatMapFunction類
總結
以上是生活随笔為你收集整理的Apache Flink 零基础入门(八)Flink中指定算子的方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache Flink 零基础入门(七
- 下一篇: Apache Flink 零基础入门(九