前言
本来准备5.1节假日写这一篇的,但是天天都是事,基本都是起早床,没有睡一个懒觉。假期基本下午半天都是睡一下午,所以拖到今天写,说到底还是懒。。。。
一、操作转换概论
1.转换关系图
2.一般转换解释
coGroup:该操作是将两个数据流/集合按照key进行group,然后将相同key的数据进行处理,它在一个流/数据集中没有找到与另一个匹配的数据还是会输出。 join:与我们数据库中常见的inner join类似,它数据的数据侧重与pair,它会按照一定的条件取出两个流或者数据集中匹配的数据返回给下游处理或者输出。 Join操作DataStream时只能用在window中,和cogroup操作一样。 connect:只适用操作DataStream,它会将两个流中匹配的数据进行处理,不匹配不会进行处理,它会分别处理两个流,比上面的两个操作更加自由。
3.Flink流处理核心数据结构
二、转换操作说明
1.map与flatMap
2.filter
3.keyBy
keyBy后出来的事keyedStream。
4.reduce、fold、aggregations
PS:在flink1.14.4版本fold已过时。
5.interval join
6.connect和union
7.coMap、coFlatMap
8.split、select
9.project
10.assignTimestampsAndWatermarks
三、任务链资源组
1.算子间数据传递模式
2.物理分区
3.rescale
8.任务链资源组相关操作
PS: 这里很容易理解为startNewChain()才是开始新的链。实际上startNewChain前面的map就开始一个新的链。
总结
这个转换、编码套路拿出来说几次了,实际上我每次也是有新的感悟,循序渐进每次加一点东西补充到总线转换、套路里面,有温故而知新的感觉。Up!
|