Hive 查询性能调优
Posted
技术标签:
【中文标题】Hive 查询性能调优【英文标题】:Hive Query performance tuning 【发布时间】:2015-04-01 17:10:07 【问题描述】:我是 hadoop 和 hive 的新手。您能否建议在 cloudera 5.2.1 上运行的 Apache Hive 是否有任何性能调整步骤。
为了提高 hive 查询性能的调整参数是什么
Hive 版本:- Hive 0.13.1-cdh5.2.1
Hive 查询:-
选择不同的 a1.chain_number 链号, a1.chain_description 链描述 来自staff.organization_hierarchy a1;
Hive 表被创建为外部选项“存储为文本格式”,表属性如下:-
在更改以下配置单元设置后,我们看到了 10 秒的改进
设置 hive.exec.parallel=true;
您能否建议除上述之外的任何其他设置,以提高我正在使用的查询类型的配置单元查询性能。
【问题讨论】:
【参考方案1】:你可以用group by
代替distinct
,因为distinct
工作只有1个reduce工作。
试试这个
select chain_number, chain_description
from staff.organization_hierarchy
group by chain_number, chain_description
如果reduce作业数还是很小,可以通过mapred.reduct.tasks
configure来指定
【讨论】:
【参考方案2】:optimize Hive performance不止一种方式还有很多方式 1) 启用 Tez 执行引擎。 2)使用ORC文件格式 3)使用矢量化 4) 基于成本的优化 5) 使用正确的 HQL 命令等等。
【讨论】:
以上是关于Hive 查询性能调优的主要内容,如果未能解决你的问题,请参考以下文章