flink分区与算子链

flink分区与算子链

  • [flink 分区策略](#flink 分区策略)
  • [flink 什么情况下才会把 Operator chain 在一起形成算子链?](#flink 什么情况下才会把 Operator chain 在一起形成算子链?)
  1. GlobalPartitioner 数据会被分发到下游算子的第一个实例中进行处理
  2. RebalancePartitioner 数 据会 被循 环发 送到 下 游的 每一 个实 例中 进 行处 理。
  3. RescalePartitioner 这种分区器会根据上下游算子的并行度,循环的方式输出到下游算子的每个实例。
  4. BroadcastPartitioner 广播分区会将上游数据输出到下游算子的每个实例中 。 适 合 于大数据集和小数据集做Jion的场景。
  5. ForwardPartitioner 用于将记录输出到下游本地的算子实例。它要求上下游 算 子 并 行 度 一 样 。 简单的说 , ForwardPartitioner 用来做数据的控制台打印 。(也是chain算子的条件)
  6. KeyGroupStreamPartitioner Hash 分区器。会将数据按 Key 的 Hash 值输出到下游算子实例中。
  7. CustomPartitionerWrapper 用户自定义分区器。需要用户自己实现 Partitioner 接口,来定义自己的分区逻辑

RescalePartitioner这里有点难以理解,假设上游并行度为 2,编号为 A 和 B。下游并行度为 4,编号为 1,2,3,4。那么 A 则把数据循环发送给 1 和 2,B 则把数据循环发送给 3 和 4。假设上游并行度为 4,编号为 A,B,C,D。下游并 行度 ,编号为 1,2。那么 A 和 B 则把数据发送给 1,C 和 D 则把数据发送给 2。

  • 上下游的并行度一致
  • 下游节点的入度为 1 (也就是说下游节点没有来自其他节点的输入)
  • 上下游节点都在同一个 slot group 中
  • 两个节点间数据分区方式是 forward(参考理解数据流的分区) 否则都是all_to_all
  • 上下游节点的 chain 策略为 ALWAYS
相关推荐
EasyDSS几秒前
私有化视频会议系统/视频高清直播点播EasyDSS一站式视频平台赋能智慧校园全场景教学
大数据·音视频
二等饼干~za89866812 分钟前
云罗 GEO 优化系统源码厂家测评报告
大数据·网络·数据库·人工智能·django
跨境技工小黎18 分钟前
如何从 eBay 抓取商品价格数据?2026 数据采集实践整理
大数据
GlobalInfo20 分钟前
工业控制类芯片市场份额、市场占有率、行业调研报告2026
大数据·人工智能·物联网
kuankeTech21 分钟前
汇信云·盘古发布 开启外贸AI新时代
大数据·人工智能·自动化·数据可视化·软件开发
云飞云共享云桌面22 分钟前
共享云主机告别传统电脑——制造工厂研发部门2台三维设计云主共享给20个设计师并发用
大数据·运维·服务器·自动化·电脑·制造
江瀚视野24 分钟前
电竞苏超即将上线,虎牙发力电竞苏超意欲何为?
大数据·人工智能
xiaoduo AI29 分钟前
客服机器人首响时长最快可优化至几秒?智能 Agent 预加载常用语,响应比人工快多少?
大数据·人工智能·机器人
Francek Chen37 分钟前
【大数据存储与管理】NoSQL数据库:02 NoSQL兴起的原因
大数据·数据库·分布式·nosql
做萤石二次开发的哈哈40 分钟前
智能AI云存储|萤石蓝海大模型加持,解锁视频数据新价值
大数据·人工智能