今天就跟大家聊聊有关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中指定算子的方式是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/duanvincent/blog/3099405