今天就跟大家聊聊有关Flink中指定算子的方式是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
我们之前在使用flatMap时,传了一个new FlatMapFunction匿名内部类。而这仅仅是其中的一种方式。
最简单的方式就是实现一个MapFunction接口,例如:
text.flatMap(new MyFlatMapFunction()).keyBy(new KeySelector<WC, Object>() { @Override public 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> { @Override public 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)); } } } }
这种方式就是我们之前一直使用的方式。
text.flatMap(new RichFlatMapFunction<String, WC>() { @Override public 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类
看完上述内容,你们对Flink中指定算子的方式是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。