zoukankan      html  css  js  c++  java
  • 大数据优化之数据倾斜

    数据倾斜

    数据倾斜概念

    在做计算的时候,数据的分散度不够(数据的Key分布不均),导致数据分布在一台或几台机器计算
    症状:典型的现象就是数据reduce到99%很久不动了

    数据倾斜原因

    总原因:key分布不均
    业务数据的特点(数据的幂律分布)
    人为建表的疏忽
    join、group by、count distinct等操作触发shuffle操作

    一些数据倾斜解决方法

    将数据均匀分配到各个reduce中是解决数据倾斜的根本所在

    业务逻辑

    根据业务特点,单独对特别的业务数据进行聚合

    程序

    count distinct操作,先转成group by,再count
    left semi join使用

    设置参数

    hive.map.aggr = true
    hive.groupby.skewindata=true

    总结

    如果玩大数据数据倾斜是绕不过去的一个东西,解决数据倾斜问题是大数据查询优化的一种方法
    数据倾斜是key分布不均导致
    把数据均匀分布到各个reduce是解决数据倾斜的根本所在
    没有一劳永逸的方法,具体问题具体分析,并且需要不断调试

    参考资料

    漫谈千亿级数据优化实践:数据倾斜
    hive大数据倾斜总结
    006.hive语句优化
    Hive优化总结

    Changelog

    181205创建

  • 相关阅读:
    js
    原型、原型链、闭包、继承
    js6.22
    js
    js
    在浏览器窗口上添加一个遮罩层
    git使用笔记
    前端开发面试题
    Web Worker
    js实现图片预加载
  • 原文地址:https://www.cnblogs.com/junstudys/p/10162709.html
Copyright © 2011-2022 走看看