Hive 执行计划详解及优化方案:Map Join 和数据扫描优化
这是一个 Hive 的执行计划,包含一个根阶段 Stage-1 和一个依赖阶段 Stage-0,Stage-0 依赖于 Stage-1。整个执行计划包含 4 个 Map 操作,其中 3 个为广播边,一个为数据扫描。具体的操作和优化点如下:
- Map Join 操作
该操作涉及 3 个 Map 操作和一个左外连接操作,其中 2 个 Map 操作为广播边。在左外连接操作中,表 t1 的 'prodcd' 与表 t2 的 'prodcd' 连接,然后将连接结果与表 t3 的 'itemcd' 连接,最后将连接结果与表 t10 的 'src_cd_val' 连接。最终结果通过 Select 操作,选取了一些列并进行了一些转换。
优化点:
Map Join 操作的性能受到输入数据大小的限制。如果输入数据量较大,可能会导致 Map Join 操作的性能下降。可以考虑对输入数据进行过滤或分区,以减少 Map Join 操作的数据量。
- 数据扫描
该操作涉及一个数据扫描操作,扫描表 t1 的数据。
优化点:
对于数据扫描操作,可以考虑对数据进行压缩或分区,以减少扫描的数据量。
综上所述,对于该执行计划,可以考虑对输入数据进行过滤或分区,以减少 Map Join 操作的数据量;对数据扫描操作进行优化,例如对数据进行压缩或分区。
原文地址: https://www.cveoy.top/t/topic/nQwS 著作权归作者所有。请勿转载和采集!