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

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.xdnf.cn/news/16114.html

相关文章:

  • Linux物理地址空间入门:从硬件到内核内存的基石
  • 网络设备功能对照表
  • Pytorch张量
  • 云原生技术与应用-Kubernetes Pod调度基础
  • jdk25浅谈
  • 深度学习-常用环境配置
  • 使用 Tailwind CSS 控制元素在移动端不显示
  • MySQL 核心知识点梳理(2)
  • C++ 分配内存释放内存
  • 深度学习 ---神经网络以及数据准备
  • 清理磁盘空间
  • LiteCoT:难度感知的推理链压缩与高效蒸馏框架
  • NISP-PTE基础实操——代码审计
  • 从实践出发--探究C/C++空类的大小,真的是1吗?
  • 微店关键词搜索接口深度开发指南
  • 有关Maven的个人笔记总结
  • ssh2-sftp-client 简化 sftp 文件传输的 node库
  • python实现接收九数云的异常分析指标推送通知
  • C++基础数据结构
  • Java IO 流详解:从基础到实战,彻底掌握输入输出编程
  • A316-HF-DAC-V1:专业USB HiFi音频解码器评估板技术解析
  • 牛客网题解 | 单词识别
  • 关于Ajax的学习笔记
  • 二叉树实现堆,咕咕咕
  • 结构型模式-架构解耦与扩展实践
  • Linux的目录
  • stream event
  • 软文发布平台推荐指南,软文发稿平台该怎么选?
  • 网络协议(三)网络层 IPv4、CIDR(使用子网掩码进行网络划分)、NAT在私网划分中的应用
  • Axios