Flink中数据处理的Operator

DataSteam的Operator

Operator名称输入类型 -> 输出类型解释示例
MapDataStream - > DataStream输入一个元素并生成一个元素dataStream.map()
FlatMapDataStream -> DataStream输入一个元素并生成0,1或多个元素dataStream.flatMap()
FilterDataStream -> DataStream对每个元素计算布尔函数值,布尔函数返回true的元素将保留dataStream.filter()
keybyDataStream -> KeyedStream逻辑地将数据流划分到不同的分区,具有相同的Key的所有记录被分配到相同的分区。默认keyBy()是通过Hash分区实现的,注意: 不能认为一个分区只处理一个keydataStream.keyBy()
ReduceKeyedStream -> DataStream对KeyedStream数据流“滚动"聚和。将当前元素与最近聚合的值聚合计算出新值KeyedStream.minBy()
AggregationsKeyedStreeam -> DataStream聚合函数泛指,例如sum(),minBy(),maxBy(),min(),max()等keyedStream.minBy()
WindowKeyedStream -> WindowedStreamWindows可以在已经分区的KeyedStreams上定义。WIndouws根据某些特征(例如,最近5秒内到达的数据)对每个key中数据进行分组dataStream.keyby().window()
WindowAllDataStream -> AllWindowedStreamWindowAll可以在常规的dataStream上定义。上流没有进行keyby(),WindowAll根据某些特征(例如,最近5秒内到达的数据)对所有流时间进行分组dataStream.windouwAll()
Windou ApplyWindowedStream ->DataStream AllWindowedStream -> DataStream将通用函数应用整个窗口windowwdStream.apply()
WindouReduceWindowedStream -> DataStream对窗口应用reduce函数,并返回经过聚合的值WindowedStream.reduce()
WindowJoinDataStream,DataStream,DataStream -> DataStream将在同一个窗口中的两个数据流通过指定Key连接起来dataStream.join(otherStream)
.where().equalTo()
.window()
WindowCoGroupDataStream,DataStream -> DataStream将在同一个窗口中的两个数据流通过指定key进行协分组dataStream.coGroup(otherStream).where(0).equalTo(1).window()
intervalJoinKeyedStream,KeyedStream -> DataStream在指定时间间隔内将两个KeyedStream的元素e1和e2用一个相同Key连接起来,因此e1.timestamp + lowerBound <= e2.timestamp <= e1.timestamp <= e1.timestap + upperBoundKeyStream.intervalJoin(other)
.between(Time.milliseconds(-2),Time.milliseconds(2))
.upperBoundExclusive(true)
.lowerBoundExclusive(true)
.process(new intervalJoinFunction(){…})
UnionDataStream* -->DataStream将两个或多个相同同类型的数据流合并,创建一个包含所有数据流中所有元素的新数据流,注意: 如果你将数据流与它自身结合,你将得到结果流中的每个元素两次someStream.union(otherStream).inion()
ConnectDataStream,DataStream --> ConnectedStream连接两个不同类型的数据流,允许两个流之间共享状态someStream.connect(otherStream)
CoMap,CoFaltMapConnectedStream – > DataStream类似于ConnectedStream(连接数据流)上的map和flatMap函数connectedStreams.map()
iterateDataStream --> iterativeStream --> ConnectedStream通过将一个Opertor的输出重定向到前面的某个Operator,在流中创建一个“feedback”循环。这对于定义持续更新模型的算法尤其有用initialStream.iterate{}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值