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 零基础入门(一):基础概念解析 Apache Flink 零基础入门(二):DataStream API 编程 转载于:https://www.cnblogs.com/dav ...
- 什么是python中子类父类_零基础入门:python中子类继承父类的__init__方法实例
前言: 今天为大家带来的内容是零基础入门:python中子类继承父类的__init__方法实例!具有不错的参考意义,希望在此能够帮助到各位!(喜欢的话记得点赞转发关注不迷路哦) 使用Python写过面 ...
- Apache Flink 零基础入门(十八)Flink Table APISQL
什么是Flink关系型API? 虽然Flink已经支持了DataSet和DataStream API,但是有没有一种更好的方式去编程,而不用关心具体的API实现?不需要去了解Java和Scala的具体 ...
- Apache Flink 零基础入门(一):基础概念解析
Apache Flink 的定义.架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行 ...
- Apache Flink 零基础入门(二十)Flink kafka connector
内置source和sink 内置source包括从文件读取,从文件夹读取,从socket中读取.从集合或者迭代器中读取.内置的sink包括写文件.控制台输出.socket 内置connectors A ...
- Apache Flink 零基础入门(十四)Flink 分布式缓存
Apache Flink 提供了一个分布式缓存,类似于Hadoop,用户可以并行获取数据. 通过注册一个文件或者文件夹到本地或者远程HDFS等,在getExecutionEnvironment中指定一 ...
- Apache Flink 零基础入门(三)编写最简单的helloWorld
实验环境 JDK 1.8 IDE Intellij idea Flink 1.8.1 实验内容 创建一个Flink简单Demo,可以从流数据中统计单词个数. 实验步骤 首先创建一个maven项目,其中 ...
- python最简易入门_零基础入门python,用最简单的方式即可入门python,没有那么复杂...
python已经开始被越来越多的人喜欢,其中有很多是从未学习过编程的人,那么,如果是从零开始学python的话,会很难吗? 其实从零开始学python并不会很难,最简单的方法,往往最有效果,无论你是否 ...
- Apache Flink 零基础入门(七)Flink中keyBy三种方式指定key
keyBy 如何指定key 不管是stream还是batch处理,都有一个keyBy(stream)和groupBy(batch)操作.那么该如何指定key? Some transformations ...
最新文章
- PhpStorm+Homestead+Xdebug调试Laravel
- SAP ERP物料和SAP Cloud for Customer的同步
- MySql索引的原理
- vf求计算机系统当前日期的年份数,计算机二级VF常用函数列表
- A Tour of the Dart Language(译文):五控制流语句
- 亲民地理第39期-佛山(3)千灯湖
- 如何应对训练的神经网络不工作?
- steam服务器维护6月28,绝地求生6月28日维护更新公告 绝地求生6月28日更新内容汇总...
- 计算机网络图标打不开怎么回事,双击打不开图标怎么办 双击打不开图标解决方法【详解】...
- PHP网页设计作业,bootstrap前端框架留言板系统源码
- 网络营销推广文案如何量化工作和管理
- 计算机网络学习(一) 计算机网络概述
- DTW学习(dynamic time warping)——思想、代码实现
- php的研究意义 毕业论文,PHP毕业论文开题报告
- mysql 频繁连接中断_记一次网络原因导致的mysql连接中断问题(druid)
- Infor与AI的美丽邂逅
- scroll-top 设置微信小程序滚动条位置
- WinCE WebCamera驱动开发白皮书
- 修改android模拟器的路径
- 人工蜂群优化及其在资源管理中的应用(Matlab代码实现)