背景:每天大数据平台核心就是出报表,而核心的中间表底层是大量的报表都会依赖它运行,我们称这个报表为142.(因为报表我们这边编号是142)。预计依赖于它的报表有几十个展示。

问题现象:每天142报表的运行时间达到10---15小时。导致底层报表计算大量延迟。于是进行报表排查和重整sql逻辑。

分析sql过程发现除了普通查询和计算,核心有6个left join。于是进行left join每个测试。发现最后两个left join分别耗时3--7小时,于是定位到需要优化的点。

倾斜点分析:首先跑hive 起MR的时候到yarn观察,发现其中会出现一些容器跑得很久,初步判断是数据倾斜。于是对left join的关联key进行分布分析。发现总体确实均匀,但是个别key达到其他普通量的百倍。再次定位到了数据倾斜的点了。

问题解决:

1.和业务商量,这些大量倾斜的数据是否需要归入计算,能否筛除,业务那边是说不行。

2.将最后两个left做成了分段sql。因为每次left join倾斜部分是关联不上的,于是将这部分数据先查询到中间表temp1.数据计算后,将temp1多余字段补null然后两部分unionall起来,这时候left join的结果值是一致的,只是数据顺序性变了(询问了sql开发顺序变不会对报表造成影响),其实即使需要left join纳入计算,筛选出来后再去计算也会比直接丢一个sql里面数据倾斜块,因为key不会选择关联的内容。)

优化后报表30分钟出数,生产繁忙情况是2小时(优化的带来不好的地方,多段sql 容易起多个MR。而MR队列机制会导致某个MR在机器繁忙时候多次排队过程造成等待时间过长)。测试上线没问题,后续出数正常

转载于:https://www.cnblogs.com/yaohaitao/p/11465413.html

记录一次服务器大中间表优化的问题(数据倾斜的解决)相关推荐

  1. 【hive】数据倾斜-大表小表join优化mapjoin

    真正让你明白Hive调优系列3:笛卡尔乘积,小表join大表,Mapjoin等问题 0.Hive中的优化分类    真正想要掌握Hive的优化,要熟悉相关的MapReduce,Yarn,hdfs底层源 ...

  2. Elasticseach:从微服务架构演变到大宽表思维的架构转变

    序言 图示:Elasticsearch 在DB-Engine综合排名第8 Elasticsearch 简称"ES", 在DB-Engine 综合排名第8,已经持续了相当长的时间,按 ...

  3. spark 宽表 mysql_扒一扒某厂的新零售用户画像系统大宽表 | 知识整理

    扒一扒某厂如何构建新零售领域中用户画像的大宽表.字数不多,就600字. 用户画像系统的维度表构建 画像大维表是一个画像系统所支持的所有标签的元数据,一个体系完整的画像设计范围广,一般是由很多团队共同构 ...

  4. 大数据之数据倾斜剖析

    1.1 绪论 数据倾斜是大数据领域绕不开的拦路虎,当你所需处理的数据量到达了上亿甚至是千亿条的时候,数据倾斜将是横在你面前一道巨大的坎. 迈的过去,将会海阔天空!迈不过去,就要做好准备:很可能有几周甚 ...

  5. 大数据技术之_19_Spark学习_07_Spark 性能调优 + 数据倾斜调优 + 运行资源调优 + 程序开发调优 + Shuffle 调优 + GC 调优 + Spark 企业应用案例

    大数据技术之_19_Spark学习_07 第1章 Spark 性能优化 1.1 调优基本原则 1.1.1 基本概念和原则 1.1.2 性能监控方式 1.1.3 调优要点 1.2 数据倾斜优化 1.2. ...

  6. rdd数据存内存 数据量_Spark 性能优化(二)——数据倾斜优化

    1.2 数据倾斜优化 1.2.1 为何要处理数据倾斜(Data Skew) 什么是数据倾斜?对 Spark/Hadoop 这样的大数据系统来讲,数据量大并不可怕,可怕的是数据倾斜. 何谓数据倾斜?数据 ...

  7. Hive 性能优化(全面)解决数据倾斜等问题

    Hive性能优化(全面) 1.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题? 数据量大不是问题,数据倾斜是个问题. jobs数比较多的作业运行效率相对比较低,比如即使有几 ...

  8. Hive性能优化(全面)解决数据倾斜等问题

    Hive性能优化(全面) 1.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题? 数据量大不是问题,数据倾斜是个问题. jobs数比较多的作业运行效率相对比较低,比如即使有几 ...

  9. 大数据 -- 数据倾斜

    离线计算的数据倾斜问题 数据倾斜就是指我们在计算数据的时候,数据的分散度不够,导致大量的数据集中到一台或者几台机器上,这些数据的计算速度远远低于平均计算速度,导致整个计算过程很慢. Hadoop中的数 ...

最新文章

  1. F5与NetScaler比较
  2. 异常详细信息: System.ArgumentException: 不支持关键字: “metadata”。
  3. 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(六) MiniGUI 提供的非 GUI/GDI 接口...
  4. 在下载jar包时,要有三个包,分别为使用的把class、查看文档的api、查看源代码的资源包...
  5. 利用cross join 构造大量测试数据
  6. python 2 类与对象
  7. 前端学习(1331):mongoose第三方模块
  8. springside 4 web-init 启动
  9. Bzoj 3226: [Sdoi2008]校门外的区间
  10. vmware vsphere powercli 因为在此系统中禁止执行脚本
  11. 零基础如何用 15 行 Python 代码搞定网易云热门歌单?
  12. 【Augmented Reality】增强现实中的光学透射式头盔显示器的标定深入
  13. php 百科源码,php源码是什么意思
  14. 实战Vue:基于Vue的移动端购物车单界面实现
  15. Python 学习笔记:class
  16. 身为管理者必须会讲的68个小故事
  17. 软件设计师 软考 真题练习 (三)
  18. CSS3实现边框线条动画特效
  19. python processpoolexecutor_理解Python的PoolExecutor
  20. 关于office及edge浏览器无法登录微软账号的问题

热门文章

  1. 洛谷 P1404 平均数
  2. Matlab Tricks(三十) —— 任意区间的均匀分布
  3. nefu 519 昨日重现
  4. [NOIP2012提高组] CODEVS 1200 同余方程(扩展欧几里德算法)
  5. VB之修改机器码达到WG
  6. Caused by: org.springframework.beans.NotWritablePropertyException
  7. 编程输出2的90次方的精确值
  8. HDU 4336 Card Collector(容斥原理+状态压缩)
  9. 关于Request.ServerVariables(HTTP_REFERER)
  10. 手把手·从零开始撸Docker 系列一