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

Flink kafka 数据汇不指定分区器导致的问题

背景

在flink中,我们经常使用kafka作为flink的数据汇,也就是目标数据的存储地,然而当我们使用FlinkKafkaProducer作为数据汇连接器时,我们需要注意一些注意事项,本文就来记录一下

使用kafka数据汇连接器

首先我们看一下常用的使用的情况:

    public FlinkKafkaProducer(
            String topicId,
            SerializationSchema<IN> serializationSchema,
            Properties producerConfig) {
        this(
                topicId,
                serializationSchema,
                producerConfig,
                //不指定分区器时,kafka默认使用FlinkFixedPartitioner分区器
                Optional.of(new FlinkFixedPartitioner<>()));
    }

可以看到在不指定分区器时,kafka默认使用FlinkFixedPartitioner作为分区器,我们查看一下FlinkFixedPartitioner的分区逻辑:

    public int partition(T record, byte[] key, byte[] value, String targetTopic, int[] partitions) {
        Preconditions.checkArgument(
                partitions != null && partitions.length > 0,
                "Partitions of the target topic is empty.");
		// 根据算子的任务索引号进行求余
        return partitions[parallelInstanceId % partitions.length];
    }

可以看到,同一个算子任务的记录都只会发送到同一个kafka分区上,当分区数大于算子任务数时,可以确定的是有一些分区是没有记录的,那你可能会问,有些分区没有记录有什么问题?

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

相关文章:

  • go语言输出带颜色字体
  • docker 入门教程
  • 单页面应用(SPA):改变用户体验的未来
  • Infuse Mac视频播放器 中文
  • 软件测试学习(二)静态白盒测试、动态白盒测试、配置测试、兼容性测试、外国语言测试
  • 信息学奥赛一本通-编程启蒙3219:练36.2 不定方程求解
  • 让 Visual Studio 用上 ChatGPT
  • Hadoop3教程(九):MapReduce框架原理概述
  • Web自动化测试入门 : 前端页面的组成分析详解
  • 《机器学习》第5章 神经网络
  • python selenium下载一个合适的chromedriver.exe(稳定版本)
  • 【数据结构】:二叉树与堆排序的实现
  • acwing算法基础之基础算法--整数离散化算法
  • vue打包压缩
  • Go语言入门心法(三): 接口
  • 端到端的机器学习项目(Machine Learning 研习之六)
  • 深入了解 JavaScript 中的构造函数和对象创建
  • 最新ai创作系统CHATGPT系统源码+支持GPT4.0+支持ai绘画(Midjourney)
  • 海康威视、大华、宇视rtsp实时读取网络摄像头
  • c++string类的赋值问题
  • Android Handler/Looper视角看UI线程的原理
  • 1.12.C++项目:仿muduo库实现并发服务器之LoopThreadPool模块的设计
  • PCL点云处理之从两片点云中获取具有匹配关系的同名点对 (二百一十八)
  • 【音视频|ALSA】SS528开发板编译Linux内核ALSA驱动、移植alsa-lib、采集与播放usb耳机声音
  • vsc连接wsl安装vsc时遇到权限问题的解决方案
  • 如何使用ChatPPT生成PPT文档
  • SpringCloud-Gateway
  • LENOVO联想笔记本小新 Pro-14 2021AMD处理器ACH版(82MS)原厂Win10系统
  • ElementUI编辑表格单元格与查看模式切换的应用
  • 算法解析:LeetCode——机器人碰撞和最低票价