hive在跑数据时经常会出现数据倾斜的情况,使的作业经常reduce完成在99%后一直卡住,最后的1%花了几个小时都没跑完,通过YARN的管理界面配合日志,可以清楚其中的具体原因,这种情况就很可能是数据倾斜的原因,解决方法要根据具体情况来选择具体的方案

1.如果你知道某些字段造成的倾斜,可以把这些字段抽出来单独处理,这样的话,MR会多分配几个实例,提高执行速度。

2.

set hive.exec.reducers.bytes.per.reducer = 1000000000

也就是每个节点的reduce 默认是处理1G大小的数据,如果你的join 操作也产生了数据倾斜,那么你可以在hive 中设定

set hive.optimize.skewjoin = true; 
set hive.skewjoin.key = skew_key_threshold (default = 100000)

这个表示记录的行数,

hive 在运行的时候没有办法判断哪个key 会产生多大的倾斜,所以使用这个参数控制倾斜的阈值,如果超过这个值,新的值会发送给那些还没有达到的reduce, 一般可以设置成你(处理的总记录数/reduce个数)的2-4倍都可以接受.

3 reduce task数量太少,直接设置大它的数量试试

set mapred.reduce.tasks=xxx

默认是先设置hive.exec.reducers.bytes.per.reducer这个参数,设置了后hive会自动计算reduce的个数,因此两个参数一般不同时使用

转载于:https://www.cnblogs.com/huaxiaoyao/p/6275555.html

HIVE大数据出现倾斜怎么办相关推荐

  1. Hive大数据-Hive的安装与启动---大数据之Hive工作笔记0005

    然后我们再去看这个hive的安装,其实正确的学习路径应该是,首先去看 一下hadoop,因为大数据中,很多知识都是基于hadoop的,然后再去看hive,然后再去 看hbase,spark,flink ...

  2. Hive 大数据表性能调优

    大数据应用程序开发人员在从 Hadoop 文件系统或 Hive 表读取数据时遇到了挑战. 合并作业(一种用于将小文件合并为大文件的技术)有助于提高读取 Hadoop 数据的性能. 通过合并,文件的数量 ...

  3. Hive大数据项目实践

    在搭建了Hadoop和hive环境后,就可以使用hive来进行数据库相关操作了.Hive提供了hql(类sql)语句来操作,基本过程与mysql类似,区别的就是对于hive中的聚合操作,将使用hado ...

  4. hive大数据倾斜总结

    在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显.主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平 ...

  5. 管理博文Hive大数据-Mysql的安装和启动---大数据之Hive工作笔记0007

    然后我们看,在给hive切换derby数据为,mysql数据库前,先去安装一下 mysql,这个已经安装了很多遍了 找到连接器,mysql的,然后 然后去看一下把这个mysql的驱动,copy到 hi ...

  6. Hive大数据-Hive的架构---大数据之Hive工作笔记0003

    然后我们再来看一下hive的架构 可以看到hive,左边有个元数据存储,就是存了一些元数据,通过这些元数据我们可以,找到具体我们存的实际的数据. 然后右边hive提供了cli命令行的方式操作hive以 ...

  7. hive 大数据 除重问题研究

    Hive 典型的中表内数据除重写法 insert overwrite table store select t.p_key,t.sort_word from ( select p_key, sort_ ...

  8. Hive大数据-认识Hive知识结构_以及概念介绍---大数据之Hive工作笔记0001

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 上面是关于Hive需要学习的东西 然后我们来了解一下hive,hive可以理解成一个,可以把sql ...

  9. Hive大数据-Hive的优缺点---大数据之Hive工作笔记0002

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152

最新文章

  1. python 化学结构_PyOrganic
  2. Canvas制作动态进度加载水球
  3. 阅读宋立恒《AI制胜:机器学习极简入门》第2章:机器学习中的数据预处理
  4. uml边界类例子_面向对象UML笔记
  5. 3A锂电池充电管理芯片PW4035
  6. 分享一款免费在线做图工具:ProcessOn
  7. C# winform 魔兽MH全图制作教程(3):魔兽1.20E.1.24B.1.24E全图内存地址 转自breeze...
  8. 【相濡以沫、相忘于江湖】
  9. 《Python绝技:运用Python成为顶级黑客》读后感
  10. 手机微信打不开连接到服务器错误代码,微信打不开文件是怎么回事(微信文件错误代码90018)...
  11. Altium Designer在由原理图导入PCB图报错:Number of nets in differential pair NET-TX+ is 1 instead of 2
  12. APP性能优化--启动优化
  13. react中使用macy插件实现瀑布流布局
  14. java秃头表情包_最怕空气突然的安静表情包 - 最怕空气突然的安静微信表情包 - 最怕空气突然的安静QQ表情包 - 发表情 fabiaoqing.com...
  15. matlab里mapminmax,Matlab的mapminmax函数说明[转]
  16. 上海域格ASR平台CAT1模块MQTT和基站信息功能
  17. 智慧消防正助力大学校园走向平安校园、智慧校园
  18. 【Houdini】流体渲染流程(进阶版)-- learn from ysy
  19. 工程师的月亮和六便士
  20. 制作PDF文件的软件

热门文章

  1. 单片机的单个IO口可以发送数据吗_5分钟了解单片机数据、地址、控制总线结构...
  2. 计算机网络—CSMA/CA协议
  3. 2018年全国多校算法寒假训练营练习比赛(第一场)G. 圆圈
  4. 2017 ACM-ICPC南宁网络赛: J. Minimum Distance in a Star Graph(BFS)
  5. Dubbo服务暴露(导出)流程
  6. Pytorch生成Tensor常用方法汇总
  7. C++ STL priority_queue的正确使用方法
  8. [Python+debug] 设置Python环境变量-Windows10
  9. 安卓activity生存周期的onCreate、onRestoreInstanceState、onRestart、onStart、onResume、onPause、onStop、onDestroy
  10. java获取屏幕上某坐标点的颜色