文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Hive/ Hive常见问题/ join查询关联条件中存在or导致Hive SQL运行慢
更新时间:2025-12-10 GMT+08:00
分享

join查询关联条件中存在or导致Hive SQL运行慢

现象描述

MRS 3.2.0-LTS及之后版本,当Hive SQL中存在join语句,且join关联的条件中包含or语句时,会导致SQL任务运行缓慢,SQL示例如下:

图1 Hive SQL语句

原因分析

Hive SQL的join on条件中包含or语句,在进行join操作时会由于没有join key导致产生笛卡尔积。 该问题可以打印执行计划进行确认,例如,图2中的该类SQL join语句对应的task中无key值。

图2 打印执行计划

处理步骤

整改Hive SQL,可以根据实际场景使用UNION或UNION ALL语句替代or语句。

相关文档