码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Kafka中的数据本身就是倾斜的,使用FlinkSQL该如何处理


            又是经历了一段不太平的变动,最近算是稳定了点,工作内容又从后端开发转换成了sql boy,又要开始搞大数据这一套了。不同的是之前写实时任务的时候都是用的java代码,新环境却更加偏向与使用flink sql 解决,所以记录下使用flink sql 的一些感悟和遇到的问题吧。

    查看反压:

            如果flink任务是这么一坨或者几坨task组合在一起,有些时候是如法看出反压的。无法看出反压的意思是,资源明知已经配置的很大了,反压显示也是正常的绿色,但是数据一直堆积着,这个时候一定要disable chain:pipeline.operator-chaining=false,才能正确的看到是否有反压,以及哪个节点在反压  

    Kafka中的数据一读出来就反压了,该如何解决:

            本人遇到了这么一个flink sql任务,kafak中的数据读取出来之后,没有groupby之类的操作,就是与HBase表进行join,然后进行where条件过滤,然后任务就反压了。kafka分区数量为48,程序并行度为200,如下所示:

            因为kafka分区数为48,所以最多也就49个task会读取数据,也就是200的并行度其实很多都没起作用,这个时候就要让flink程序在读取kafka数据之后shuffle一下,将数据均匀的分散到各个task上。查了下 有轮询分区(Round-Robin(rebalance))和 重缩放分区(rescale)两种方式。

    Round-Robin(rebalance):

            就是将数据hash到下游的各个task中,数据打算的最散。最终程序也是通过设置rebalance.parallelism解决的数据倾斜的问题。

    Rescale:

            也是一种hash方式,但是是一种较为轻量级的负载均衡。它会基于上下游Operator的并行度,将记录以循环的方式输出到下游Operator的每个实例。
            举例: 上游并行度是2,下游是4,则上游一个并行度以循环的方式将记录输出到下游的两个并行度上;上游另一个并行度以循环的方式将记录输出到下游另两个并行度上。

            后续慢慢深入了解FlinkSQl技术和业务吧,希望能产出更多高质量内容文章呀!

    参考:

            Flink的八种分区策略源码解读 | Jmx's Blog

  • 相关阅读:
    Kubernetes-03-实践篇 Spring-cloud-kubernetes 自动引入 K8S的 ConfigMap 参数(参数引用 和 文件挂载)
    305_C++_定义了一个定时器池 TimerPool 类和相关的枚举类型和结构体
    【HCIA】交换机三层互通及链路可靠性
    huggingface 自定义模型finetune训练测试--bert多任务
    CSDN算法技能树评测
    银行招聘问题集锦
    CMake编译命令笔记
    无模型深度强化学习算法
    【音视频】FLV封装格式
    YOLO目标检测——安全帽手套数据集【含对应voc、coco和yolo三种格式标签】
  • 原文地址:https://blog.csdn.net/zc19921215/article/details/139899668
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号