Apache Flink(五): Flink Operator

Operator(操作符)

DataStream Transformations 数据流转换

Datastream -> Datasteam

Map(映射)

取一个元素并产生一个元素,是一个映射函数。下面的例子为使用Map将输入流的值加倍

dataStream.map { x => x * 2 }

FlatMap(展开)

取一个元素并产生零个,一个或多个元素。FlatMap可将英文短语拆分为单词

dataStream.flatMap { str => str.split(" ") }

Filter(过滤)

为每个元素评估一个布尔函数,并保留该函数返回true的布尔函数。 过滤出零值的过滤器,即布尔函数的返回值为true则保留

dataStream.filter { _ != 0 }

Union(联合)

两个或多个数据流的并集,创建一个包含所有流中所有元素的新流。 注意:如果将数据流与其自身合并,则在结果流中每个元素将获得两次。

dataStream.union(otherStream1, otherStream2, ...)
DataStream,DataStream → ConnectedStreams

Connect(连接)

Connect两个保留其类型的数据流,从而允许两个流之间共享状态。

someStream : DataStream[Int] = ...
otherStream : DataStream[String] = ...

val connectedStreams = someStream.connect(otherStream)

CoMap, CoFlatMap

类似于ConnectedStreams上的map和flatMap

connectedStreams.map(
    (_ : Int) => true,
    (_ : String) => false
)
connectedStreams.flatMap(
    (_ : Int) => true,
    (_ : String) => false
)

案例代码

import org.apache.flink.streaming.api.scala._

object FlinkConnectStream {

  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值