我们之前在使用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中指定算子的方式相关推荐

  1. Apache Flink 零基础入门【转】

    Apache Flink 零基础入门(一):基础概念解析 Apache Flink 零基础入门(二):DataStream API 编程 转载于:https://www.cnblogs.com/dav ...

  2. 什么是python中子类父类_零基础入门:python中子类继承父类的__init__方法实例

    前言: 今天为大家带来的内容是零基础入门:python中子类继承父类的__init__方法实例!具有不错的参考意义,希望在此能够帮助到各位!(喜欢的话记得点赞转发关注不迷路哦) 使用Python写过面 ...

  3. Apache Flink 零基础入门(十八)Flink Table APISQL

    什么是Flink关系型API? 虽然Flink已经支持了DataSet和DataStream API,但是有没有一种更好的方式去编程,而不用关心具体的API实现?不需要去了解Java和Scala的具体 ...

  4. Apache Flink 零基础入门(一):基础概念解析

    Apache Flink 的定义.架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行 ...

  5. Apache Flink 零基础入门(二十)Flink kafka connector

    内置source和sink 内置source包括从文件读取,从文件夹读取,从socket中读取.从集合或者迭代器中读取.内置的sink包括写文件.控制台输出.socket 内置connectors A ...

  6. Apache Flink 零基础入门(十四)Flink 分布式缓存

    Apache Flink 提供了一个分布式缓存,类似于Hadoop,用户可以并行获取数据. 通过注册一个文件或者文件夹到本地或者远程HDFS等,在getExecutionEnvironment中指定一 ...

  7. Apache Flink 零基础入门(三)编写最简单的helloWorld

    实验环境 JDK 1.8 IDE Intellij idea Flink 1.8.1 实验内容 创建一个Flink简单Demo,可以从流数据中统计单词个数. 实验步骤 首先创建一个maven项目,其中 ...

  8. python最简易入门_零基础入门python,用最简单的方式即可入门python,没有那么复杂...

    python已经开始被越来越多的人喜欢,其中有很多是从未学习过编程的人,那么,如果是从零开始学python的话,会很难吗? 其实从零开始学python并不会很难,最简单的方法,往往最有效果,无论你是否 ...

  9. Apache Flink 零基础入门(七)Flink中keyBy三种方式指定key

    keyBy 如何指定key 不管是stream还是batch处理,都有一个keyBy(stream)和groupBy(batch)操作.那么该如何指定key? Some transformations ...

最新文章

  1. PhpStorm+Homestead+Xdebug调试Laravel
  2. SAP ERP物料和SAP Cloud for Customer的同步
  3. MySql索引的原理
  4. vf求计算机系统当前日期的年份数,计算机二级VF常用函数列表
  5. A Tour of the Dart Language(译文):五控制流语句
  6. 亲民地理第39期-佛山(3)千灯湖
  7. 如何应对训练的神经网络不工作?
  8. steam服务器维护6月28,绝地求生6月28日维护更新公告 绝地求生6月28日更新内容汇总...
  9. 计算机网络图标打不开怎么回事,双击打不开图标怎么办 双击打不开图标解决方法【详解】...
  10. PHP网页设计作业,bootstrap前端框架留言板系统源码
  11. 网络营销推广文案如何量化工作和管理
  12. 计算机网络学习(一) 计算机网络概述
  13. DTW学习(dynamic time warping)——思想、代码实现
  14. php的研究意义 毕业论文,PHP毕业论文开题报告
  15. mysql 频繁连接中断_记一次网络原因导致的mysql连接中断问题(druid)
  16. Infor与AI的美丽邂逅
  17. scroll-top 设置微信小程序滚动条位置
  18. WinCE WebCamera驱动开发白皮书
  19. 修改android模拟器的路径
  20. 人工蜂群优化及其在资源管理中的应用(Matlab代码实现)

热门文章

  1. 服务器维护:FTP无法连接
  2. 面试:史上最全多线程面试题 - (锁内存模型线程)
  3. kafka解决了什么问题?
  4. PHP保留小数三种方法
  5. 古月居ros课件_【古月居】ROS2探索总结系列
  6. 我的世界java版导入地图_网易我的世界备份与导入地图
  7. java批量修改txt文件_Java小工具 根据文本批量修改文件名
  8. 职称计算机应用能力考试模拟题,2016年职称计算机考试模拟题
  9. juqery代码优化
  10. java编写代码时易出错_JAVA中易出错的小问题(一)