当前位置: 首页 > news >正文

Flink框架:keyBy实现按键逻辑分区

本文重点

我们要学习聚合算子,在介绍聚合算子之前,我们必须学会分区的概念,因为只有分区之后才可以进行聚合。

keyBy按键分区

如图所示,数据经过keyBy之后,keyBy会对每个元素计算一个key(然后对key、计算hashCode,必须要保证key具有hashCode方法),然后key的hashCode会对分区数取模得到分区索引。

如图所示,黄色数据元素经过keyby后得到key1,对分区数2取模得到第一个分区索引,蓝色数据元素经过keyby后得到key2,对分区数2取模后得到第一个分区索引,紫色数据元素经过keyby后得到key2,对分区数2取模后得到第二个分区索引。

这里我们可以看到三点:

第一,不同元素得到的key是不一样的

第二,相同元素得到的key是一样的,并且一定会分到同一个分区中

第三,同一个分区中会有不同的key

(关于分区的概念,我们可以理解为下游算子的并行子任务数,子任务数是几就有几个分区,每个子任务在不同的任务槽中运行,关于并行子任务和任务槽的概念,

http://www.dtcms.com/a/291188.html

相关文章:

  • 250kHz采样率下多信号参数设置
  • mysql-5.7 Linux安装教程
  • 无人机报警器技术要点与捕捉方式
  • Anaconda 路径精简后暴露 python 及工具到环境变量的配置记录 [二]
  • Linux学习之Linux系统权限
  • scratch音乐会开幕倒计时 2025年6月中国电子学会图形化编程 少儿编程 scratch编程等级考试一级真题和答案解析
  • Git核心功能简要学习
  • 知识 IP 的突围:从 “靠感觉” 到 “系统 + AI” 的变现跃迁
  • 网络编程及原理(八)网络层 IP 协议
  • 关于校准 ARM 开发板时间的步骤和常见问题:我应该是RTC电池没电了才导致我设置了重启开发板又变回去2025年的时间
  • Xilinx FPGA XCKU115‑2FLVA1517I AMD KintexUltraScale
  • 【Java EE】多线程-初阶-Thread 类及常见方法
  • Netty中CompositeByteBuf 的addComponents方法解析
  • PNP加速关断驱动电路
  • [数据结构]#4 用链表实现的栈结构
  • FastAPI 中,数据库模型(通常使用 SQLAlchemy 定义)和接口模型(使用 Pydantic 定义的 schemas)的差异
  • GraphRAG快速入门和原理理解
  • 在线教育如何设置视频问答/视频弹题?——重塑在线教育的互动体验
  • 元宇宙工厂漫游指南:VR可视化在设备巡检与远程运维中的沉浸式应用
  • Component cannot be used as a JSX component
  • 网络数据编码技术及其应用场景的全面解析
  • 基于Vue与CloudBase AI Toolkit的色觉识别Web应用开发报告:VibeCoding新范式实践
  • 基于dcmtk的dicom工具 第八章 echoSCU-dicom测试连接
  • 广东餐饮服务中级水平测试精选题库
  • 基于Python的多传感器融合的障碍物检测与避障演示
  • WPF 项目设置应用程序图标和设置程序集图标
  • 搭建种草商城框架指南
  • 修复WSL安装失败(错误: 0x80248014 )并安装K8S
  • 低空经济展 | 约克科技携小型化测试设备亮相2025深圳eVTOL展
  • Linux物理地址空间入门:从硬件到内核内存的基石