你知道数据发散和数据倾斜么?

2023-11-10

该问题已同步到小程序:全栈面试题

问题

在数据开发日常工作当中,数据发散和数据倾斜问题是比较常见的。那么我们该如何判断呢?同时该如何规避这两种问题呢?注意:该问题也经常会被面试官拿来提问面试者

解答

基于以上问题,大佬们给出了如下的回答:

数据发散

Destiny:对于数据发散问题,可以查看left join关联对应的右表数据是否有重复,如果出现重复的情况,那么就会造成一对多,可能会出现发散情况。

致远大佬给出了本质性的解答:数据发散是因为关联字段值不唯一导致的

Nic大佬分享了遇到的数据发散实际场景:在某次埋点上报的数据里,发现某个用户数据重复了2000条记录左右,然后当时数据处理上要把这个数据里面的三列炸裂展开,然后使用全联接,最后生成了2000*2000*2000条记录了。

追求无我:数据发散可能在事实表和维度表或者主明细表关联的时候发生,发生的原因可能是事实表里的一行记录关联到维度表里面的多行记录,这样就产生了数据发散。

别动我的奶酪:个人对数据发散的理解就是数据发生了笛卡尔积了,由于关联条件不唯一导致了数据重复,解决思路就是首先要判断数据是否需要发散,也就是需要什么样的数据结果集,其次在做关联之前要判断关联条件是否唯一,不唯一的需要进行汇总去重。同时需要配置稽核,看关联前后表的数据量级示范一致,金额等数值型字段的总和是否一致。

数据倾斜

关于数据倾斜的问题,笔者也发布了很多解决方案,具体可见

数据开发必经之路-数据倾斜

Hive专题-数据倾斜定位篇

Spark数据倾斜之骚操作解决方案

你的数据倾斜了吗?


下面来看下以下两位大佬对数据倾斜的理解:

妄想复苏的心跳:数据倾斜其实就像是热点问题,指的是在分布式系统过程中一个或少数几个节点处理了整个数据集的大部分数据,造成了单机性能瓶颈。针对这种情况常见的解决方案就是先定位到倾斜key,根据倾斜key个数采取不同的手段,比如在其key前面加上前缀,最后聚合的时候再去掉前缀即可。

别动我的奶酪:数据倾斜最直观的判断就是reduce卡到了99%,一般都是大表关联小表。解决思路就是在关联前尽量减少不必要的数据,让大表的数据尽可能缩小量级

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

你知道数据发散和数据倾斜么? 的相关文章

随机推荐

  • 网络编程_常用的基本函数介绍——htonl、ntohl、htons、ntohs

    1 htonl函数 将主机的unsigned long值转换成网络字节顺序 32位 一般主机跟网络上传输的字节顺序是不通的 分大小端 函数返回一个网络字节顺序的数字 include stdafx h include
  • uni-app如何配置隐私政策

    uni app如何配置隐私政策 在manifest json中 的privacy中可以配置 注意点 隐私政策可以使用http 地址 如果隐私政策需要使用本地文件 可以把html放在hybrid文件夹中 注意a链接的地址 正确写法如下图
  • React 好用的工具库

    俗话说的好 工欲善其事 必先利其器 笔者在开发 React 项目的时候 总结出一些很不错的 React 库 可以提高开发效率 满足业务需求 接下来将一一介绍它们 UI组件库 Ant Design 要说 React 最受欢迎的 UI 组件库
  • elasticsearch7新特性_Elasticsearch 7.0 已经发布,盘他!

    Elastic ON 北京分享了Elasticsearch7 0在Speed Scale Relevance等方面的很多新特性 比快更快 有传说中的那么牛逼吗 盘他 通过本文 你能了解到 Elasticsearch Kibana 7 部署体
  • Linux中Docker入门知识基础

    Linux中Docker入门知识docker基础 1 Docker概述 我们开发的代码会接触到不同环境 开发环境 测试环境以及生产环境 1 1 Docker概述 Docker 是一个开源的应用容器引擎 Docker 可以让开发者打包他们的应
  • 解密蓝牙mesh系列

    转载自 蓝牙技术联盟 蓝牙mesh网络 低功耗 低功耗蓝牙 低功耗蓝牙 Bluetooth Low Energy 是一项相当成功的无线技术 如今已经很难找到不支持低功耗蓝牙的智能手机或平板电脑了 可以说它是可穿戴技术兴起的关键因素 在医疗设
  • wifi名称可以有空格吗_公司刚成立不久,公司名称可以变更吗?

    最近有很多老板在问 想要把公司的名字改一改 可以吗 所以今天护航财税的小编来告诉大家 已经注册好的公司能不能变更名字 1 公司名称可以更改吗 其实公司名称是可以更改的 当企业在经营的过程中由于发展或其他原因需要 想要更改公司的 可以向工商局
  • git:回滚某次修改,revert某个commit的操作但不生成提交

    说明 在使用小乌龟进行回滚时 我们发现通常是不会提交的 而在gitbash里 我们使用git revert时 却发现会自动生成一次提交 原因是命令不对 通常我们需要使用git revert n sha 1 某次提交的sha 1值 这样就不会
  • 解决setBackgroundResource出现oom的问题

    setBackgroundResource加载图片的额时候 会出现错误 private final int imageIds R mipmap a R mipmap b R mipmap c R mipmap d R mipmap e Im
  • springcloud环境搭建——eureka

    springcloud环境搭建 eureka 目录 springcloud环境搭建 eureka 新建IDEA项目 初始化父工程 父工程的pom文件 初始化服务一 Eureka服务注册中心 子module的pom 微服务eureka的配置步
  • 上门服务小程序源码 家政小程序源码 同城到家小程序源码

    上门服务小程序源码 家政小程序源码 同城到家小程序源码 开发语言 thinkphp mysql 前端 uni app 支 持 小程序 公众号H5 APP 编号 8 1 数据概况 新增业务城市用户投票功能 更加直观的查看业务城市的关注度 人气
  • unity 各AR插件对比

    上个项目使用到AR 使用了好几个AR SDK来测试 先总结一下 可能后续有所不同 仅为当前 各AR插件对比 2D 3D Android PC vuforia EasyAR HiAR 太虚AR 解释一下 vuforia并不是不支持PC平台 而
  • Virtual DOM 算法

    1 前言 本文会在教你怎么用 300 400 行代码实现一个基本的 Virtual DOM 算法 并且尝试尽量把 Virtual DOM 的算法思路阐述清楚 希望在阅读本文后 能让你深入理解 Virtual DOM 算法 给你现有前端的编程
  • 基于2维卷积神经网络的心电图分类

    在这里给大家分享一篇关于用深度学习进行心电图识别的论文 原文地址https arxiv org abs 1804 06812 我翻译成了中文以便大家快速学习 中间难免有疏忽遗漏的地方 请大家谅解 深度医疗 1 心电图特征识别 这篇文章是由韩
  • C++入门基础05:表达式(表达式基础、算术运算符与赋值运算符、逻辑关系运算符、成员访问运算符与条件运算符、位运算符、移位运算符与类型转换)

    C 入门基础05 表达式 表达式基础 算术运算符与赋值运算符 逻辑关系运算符 成员访问运算符与条件运算符 位运算符 移位运算符与类型转换 一 表达式基础 include
  • LInux下串口编程详解细节

    LInux下串口设置详解 日期 2011 04 01 来源 Linux社区 作者 huang879135 字体 大 中 小 串口的设置主要是设置struct termios结构体的各个成员值 include
  • 【浙大版《Python 程序设计》题目集(解)】第6章函数-1 使用函数求特殊a串数列和(10分)

    给定两个均不超过9的正整数a和n 要求编写函数fn a n 求a aa aaa aa aa n个a 之和 fn须返回的是数列和 函数接口定义 fn a n 其中 a 和 n 都是用户传入的参数 a 的值在 1 9 范围 n 是 1 9 区间
  • 快排函数 -- qsort函数(Quick Sort)

    文章目录 1 qsort函数简介 1 1 函数原型 1 2 参数含义 2 比较函数介绍 3 比较函数使用案例 3 1 整型数组 3 2 浮点型数组 3 3 结构体类型 字符串 4 利用冒泡排序模拟实现qsort函数的功能 1 qsort函数
  • 图形验证码文字识别——pytesseract

    图形验证码内容识别 pytesseract 一 目的 二 实现方式 三 环境准备 四 代码实现 五 拓展 一 目的 我们工作中会遇到一些需要把图片中的文字识别出来使用的例子 比如 图形验证码 提取图片中的文章等 如果工作量比较小或者不需要重
  • 你知道数据发散和数据倾斜么?

    该问题已同步到小程序 全栈面试题 问题 在数据开发日常工作当中 数据发散和数据倾斜问题是比较常见的 那么我们该如何判断呢 同时该如何规避这两种问题呢 注意 该问题也经常会被面试官拿来提问面试者 解答 基于以上问题 大佬们给出了如下的回答 数