更新时间:2025-06-11 GMT+08:00
Hive分区修剪的谓词下推增强
操作场景
分区裁剪是一种优化技术,它通过在执行查询时仅扫描满足查询条件的分区,而不是扫描整个表的所有分区,来减少数据扫描量,从而提高查询性能。
在旧版本中,对Hive表的分区修剪的过滤条件(即谓词)下推,只支持列名与整数或者字符串的比较表达式的下推,在2.3版本中,增加了对null、in、and、or表达式的下推支持。
配置参数
- 登录FusionInsight Manager系统。
详细操作请参考访问集群Manager。
- 选择“集群 > 服务 > Spark2x/Spark > 配置”,单击“全部配置”,搜索并调整以下参数。
参数
说明
取值示例
spark.sql.hive.advancedPartitionPredicatePushdown.enabled
用于配置是否开启Hive表的分区谓词下推增强功能。
- true:开启Hive表的分区谓词下推增强功能,Spark会尝试将更多的过滤条件(即谓词)推送到分区裁剪中。
- false:关闭Hive表的分区谓词下推增强功能
开启分区谓词下推增强功能可以显著提高分区表的查询性能。但在启用时,需要考虑潜在的兼容性问题,并根据实际使用情况进行调整。
true
- 修改参数配置后,单击“保存”,根据界面提示操作后,等待配置保存成功。
- Spark服务端配置更新后,如果“配置状态”为“配置过期”,则需重启组件以使配置生效。
图1 修改Spark配置
在Spark服务概览页面,选择“更多 > 重启服务/滚动重启服务”,验证管理员密码后,等待服务重启成功。
如果使用Spark客户端提交任务,修改了集群的参数“spark.sql.hive.advancedPartitionPredicatePushdown.enabled”后,需要重新下载客户端才能使配置生效,请参考使用MRS客户端。组件重启期间将无法对外提供服务,可能会影响集群的上层业务正常运行,请在业务空闲期或确认操作无影响后再执行本操作。
父主题: Spark运维管理