文章目录
- 前言
- 1.重新分配(即打散)
- 2.合并流的算子
- 3.算子链操作
- 4.侧边输出(目前只有一种)
- 5.键控进行分区
- 6.输出算子
- 7.其他基础操作算子
- 8.其他常用的算子
- 9.Flink窗口等情况
- 10.窗口举例
前言
提示:以下是本篇文章正文内容,下面案例可供参考
1.重新分配(即打散)
2.合并流的算子
3.算子链操作
*算子链是指在Flink作业中,将多个算子(如map、filter、reduce等)连接在一起,形成一个链式结构。在分布式执行时,这些算子会被组合到一个任务(Task)中,由同一个线程执行。在flinkUI中展示一个节点(节点内包含许多合并的算子)。
4.侧边输出(目前只有一种)
1).getSideOutput
作用:getSideOutput 是一种用于获取侧输出(side output)的方法。侧输出允许你在处理过程中生成额外的输出流。
此算子目前已使用:例如上报中就有使用到,当有新的充值数据进来后,会再放一份数据到侧边输出中,方便后面上报处理。
5.键控进行分区
1).keyBy
作用:keyBy 是一种用于对流中的元素进行分区的操作(类似group by)。它根据指定的键将流中的元素划分到不同的逻辑分区中,以便后续的操作可以在每个分区上独立执行。
此算子目前已使用:需要基于某个键进行聚合或处理。目前有使用到,基于项目的键做处理。
2).partitionCustom
作用:允许用户根据自定义的分区策略对数据流进行分区。与 keyBy 不同,partitionCustom 可以让用户自定义控制数据如何分区。
6.输出算子
1).addSink
作用: addSink是一种用于向外部系统