当前位置: 首页 > 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.lryc.cn/news/595151.html

相关文章:

  • makefile-- 其他函数
  • 低代码平台买saas好还是私有化好
  • 【HTTP缓存机制深度解析:从ETag到实践策略】
  • Zabbix 企业级分布式监控部署
  • C++学习<2>--引用、函数、内存分区
  • 【2025】Vscode Python venv虚拟环境显示“激活终端”成功但是在终端中“并没有激活成功”,pip安装还是会安装到全局环境中的解决方法;
  • 第十八节:第七部分:java高级:注解的应用场景:模拟junit框架
  • nextjs+react接口会请求两次?
  • 元宇宙与DAO自治:去中心化治理的数字文明实践
  • 【设计模式C#】简单工厂模式(用于简化获取对象实例化的复杂性)
  • 实时数据可视化的“心跳”设计:毫秒级延迟下的动态图表抗闪烁优化方案
  • 时空数据可视化新范式:基于Three.js的生产全流程时间轴回溯技术解析
  • 基于爬虫技术的电影数据可视化系统 Python+Django+Vue.js
  • 基于VSCode的nRF52840开发环境搭建
  • 机器学习中核心评估指标(准确率、精确率、召回率、F1分数)
  • 动态数据源切换
  • Android Jetpack系列组件之:LiveData(保姆级教程)
  • 动静态库原理与实战详解
  • Ubuntu 22 安装 ZooKeeper 3.9.3 记录
  • 【HarmonyOS】ArkUI - 声明式开发范式
  • 信息整合注意力IIA,通过双方向的轻量级注意力机制强化目标关键特征并抑制噪声,提升特征融合的有效性和空间位置信息的保留能力。
  • I2S音频的时钟
  • C/C++ 详谈结构体大小计算(内存对齐)
  • 移动端轻量级神经网络推理框架
  • 蚂蚁数科AI数据产业基地正式投产,携手苏州推进AI产业落地
  • 解决mac chrome无法打开本地网络中的内网网址的问题
  • ELN和LIMS的区别
  • Django关于ListView通用视图的理解(Cursor解释)
  • Java基础教程(010):面向对象中的this和就近原则
  • 算法训练营DAY37 第九章 动态规划 part05