第三章 flink流处理API - map和flatmap

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三章 flink流处理API - map和flatmap相关的知识,希望对你有一定的参考价值。

参考技术A map有映射的意思, 作用是可以把一个输入的数据转为另外一个数据(比如把小写字母转换为大写字母, 数字转换成他的相反数等)。

DataStream → DataStream: 输入一个参数产生一个参数。

实现MapFunction接口后,实现这个接口中的map方法, 接入参数表示输入数据, return的结果表示转换后的数据。
如: 数据翻倍等操作: dataStream.map x => x * 2

通过源码可以看到他的实际返回值是SingleOutputStreamOperator, 属于DataStream的子类。

flat有平坦的意思,和map结合起来表示把把输入的数据打平映射。 作用是可以把一个输入的数据转为0-N条数据(比如把一个单词中所有的字母拆出来)。

DataStream → DataStream: 输入一个参数,产生0个、1个或者多个输出.

实现FlatMapFunction接口后,实现这个接口中的flatMap方法, 第一个接入参数表示输入数据 ,第二个接入参数是一个数据收集器对象:如果希望输出该数据,就调用Collector<String>的collect将数据收集输出。
如:这个 flatmap 的功能是将句子中的单词拆分出来: dataStream.flatMap str => str.split(" ")

通过源码可以看到他的实际返回值是SingleOutputStreamOperator, 属于DataStream的子类。

以上是关于第三章 flink流处理API - map和flatmap的主要内容,如果未能解决你的问题,请参考以下文章

在flink中哪个是基于批处理的图计算库

Flink流处理API大合集:掌握所有flink流处理API技术,看这一篇就够了

Flink流处理API大合集:掌握所有flink流处理API技术,看这一篇就够了

Flink基本API的使用

Flink高手之路:Flink流批一体API开发

如何将 SPARK/Flink 流数据处理创建为微服务(REST API)