HIVE大数据出现倾斜怎么办
2024-10-19 12:47:31
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的个数,因此两个参数一般不同时使用
最新文章
- ps命令
- WLAN协议相关协议
- AppSettings从数据库读取
- Synchronized和Static Synchronized区别
- Windows上一步一步CoreRun
- iOS ARC下循环引用的问题 -举例说明strong和weak的区别
- C# 计算一段代码执行的时间函数
- [每日一题] 11gOCP 1z0-053 :2013-10-7 the backup of MULT_DATA................................32
- Scanner类的.next()和.hashNext()方法
- 关于DateTime和String转换的容易犯得错误
- 使用代码自定义UIView注意一二三
- Appium项目搭建 For windows
- IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建
- java程序高CPU,如何直接定位(linux系统下命令行操作)
- C#用默认浏览器打开特定网址的几种方法
- hph 缓存机制
- 机器学习进阶-图像基本操作-图像数据读取 1.cv2.imread(图片读入) 2.cv2.imshow(图片展示) 3.cv2.waitKey(图片停留的时间) 4.cv2.destroyAllWindows(清除所有的方框界面) 5.cv2.imwrite(对图片进行保存)
- Mybatis 表名是变量时
- 35个java代码性能优化总结
- 【NOIP2013】 华容道 bfs预处理+bfs