美文网首页
HQL数据倾斜解决方法总结

HQL数据倾斜解决方法总结

作者: ArnoChanszu | 来源:发表于2020-08-23 20:26 被阅读0次

      近来,求职数据分析师常被问到:数据倾斜如何调优?对于经常使用HQL处理大数据的同学,这个问题并不陌生:任务进度长时间维持在99%,而查看监控页面,发现只有某几个reduce子任务尚未完成,十分诡异。

      要解决数据倾斜这个问题,我们需要先了解下数据倾斜产生的原因是什么?一般由于以下三个操作:count(distinct *), group by , join引起的,导致某个reducer处理的数据过多引起处理时间非常耗时。

      因此解决调优的方式可以从3方面入手尝试:

      1. 数据层面

      有损方法:找到异常数据,符合业务场景的前提下,直接过滤

      无损方法:对分布不均匀的数据,先对key做一层hash,先将数据打散增大并行度,再汇聚

      2. 代码方面:

       使用sum() group by 替代coun(distinct )

      显式使用mapjoin:/*+mapjoin(x)*/

      避免多表同时join,使用临时中间表过渡

      3. 参数方面:

      负载均衡:hive.groupby.skewindata=true

      map端聚合:hive.map.aggr = true

      增加reduce 个数: hive.exec.reducer.max = / mapred.reduce.tasks =

      采用压缩:hive.exec.compress.output = true /mapredu.output.compress = true (这个方式不完全是解决数据倾斜问题,减少IO读写和网络传输,提高效率)

相关文章

  • HQL数据倾斜解决方法总结

    近来,求职数据分析师常被问到:数据倾斜如何调优?对于经常使用HQL处理大数据的同学,这个问题并不陌生:任务进...

  • Hive优化

    Hive HQL优化 Hive优化目标在有限的资源下,执行效率更高 常见问题数据倾斜map数设置reduce数设置...

  • Hive优化

    Hive数据倾斜优化总结 Hive数据倾斜优化分为配置优化和SQL优化 优先原则: 数据不怕多,避免倾斜。 减少J...

  • Hive数据倾斜总结

    Hive数据倾斜总结 倾斜的原因: 使map的输出数据更均匀的分布到reduce中去,是我们的最终目标。由于Has...

  • spark 数据倾斜总结

    一、数据倾斜概念 1.1、是指shuffle过程中,必须将各个节点上相同key拉取到某个节点上的一个task...

  • hive数据倾斜原因解决方法

    Hive倾斜之group by聚合倾斜 原因: 分组的维度过少,每个维度的值过多,导致处理某值的reduce耗时很...

  • 数据倾斜(五):Spark是如何解决数据倾斜的

    Spark数据倾斜表现 Spark数据倾斜原理 Spark数据倾斜例子 Spark数据倾斜解决方案 七、Spark...

  • 坑合集

    Flume flume细节 Hive 数据倾斜Hive优化 Hive分区表新增字段为null的bug及解决方法 S...

  • hadoop处理数据模版

    1 利用hql处理数据 利用hql处理数据需要用到两个文件,handle.py和handle.sql文件,利用py...

  • 数据倾斜与优化的解决方法

    忙到现在才得空 马不停蹄来更文啦~ 成都今天好冷啊~即使躲在办公室与电脑相依为命,依旧抵抗不住外界凌凌寒风。 不得...

网友评论

      本文标题:HQL数据倾斜解决方法总结

      本文链接:https://www.haomeiwen.com/subject/bskejktx.html