Hive优化实战:数据倾斜与解决策略
需积分: 10 38 浏览量
更新于2024-07-19
收藏 952KB PPT 举报
Hive优化实战分享是一系列针对Hive在实际工作中遇到的问题进行深入剖析和解决方案的实践分享。主要关注以下几个方面:
1. **MAP数据倾斜 - MAPJOIN优化**:
当Hive查询中涉及到笛卡尔积操作,如`pds_cn_url_dimt0`和`ids_cn_pageview_full_fdt0`的联接,如果其中一部分`session_id`关联的数据量大且步骤繁多,可能导致地图任务(Map)数据倾斜。解决方法包括增加map数以分散负载和尝试数据重新分布,通过`DISTRIBUTEBYSTEP`语句实现。
2. **MAP数据倾斜 - 字段少,记录多**:
在处理像`bds_exp_cn_visit_object`这样的表时,由于字段少但记录量巨大(27650679条),一个文件可能导致单个Map任务处理负担过重。优化方法是增加冗余字段,将数据分割成两个文件,以利用更多的Map任务并行处理。
3. **MAP数据倾斜 - 文件大小影响**:
文件大小不均衡也会引发数据倾斜,尤其是在处理`bds_exp_cn_pageview_source`和`ids_cn_pageview_full_fdt0`这类大文件时。同样,解决策略是增大map数,确保任务负载均衡。
4. **AutoMap自适应优化**:
通过分析job执行日志,识别那些map执行时间较长的任务,动态调整map的数量,可以自动地优化map的数量,例如设置为近三天平均map数加上一个增量值。
5. **REDUCE阶段不合理**:
当ODS日志加载到分区表时,如果REDUCE阶段处理不均衡,可能会导致整个作业卡在REDUCE阶段。这可能是由于REDUCE分配不足引起的。优化REDUCE阶段的方法可能包括调整REDUCE任务的数量或优化任务分配策略,以提高整体性能。
Hive优化实战分享强调了在大数据处理中,理解数据分布、任务平衡以及合理配置参数的重要性,这对于保证查询效率和避免性能瓶颈至关重要。通过以上实例,开发者可以学习如何有效地应对Hive中的数据倾斜问题,提升数据处理的效率。
2021-01-20 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
wzgv007
- 粉丝: 0
- 资源: 16
最新资源
- ExampleLearn:一些学习用的示例代码
- 博通BCM43XX-BCM94352-BCM94360网卡&蓝牙(驱动)
- prop-cf-server-app
- webgl-video-filter-example
- javaee-cdi:关于JavaEE CDI规范的回购
- 创业计划书-中国最大的商务办公文档下载基地
- matlab开发-SMIProm.zip
- weixin044消防隐患在线举报系统开发+ssm(源码+部署说明+演示视频+源码介绍+lw).rar
- 用Markdown编写简历,用CSS设置样式,输出为HTML和PDF-JavaScript开发
- ToDoApplication:一个简单的待办事项清单Android应用,供用户添加和删除条目
- Python库 | Flask-Toastr-0.5.7.tar.gz
- Timink-开源
- todomvc-angularjs-iframe-test:使用 iframe api 测试 Angularjs TodoMVC 示例
- matlab开发-PMSM自适应模糊矢量控制.zip
- WinosInfo(桌面显示硬件信息工具)-2022.12.6-Stable-64-32
- 技术交底及其安全资料库-开关、插座安装技术交底