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.tasksconfigure来指定

【讨论】:

【参考方案2】:

optimize Hive performance不止一种方式还有很多方式 1) 启用 Tez 执行引擎。 2)使用ORC文件格式 3)使用矢量化 4) 基于成本的优化 5) 使用正确的 HQL 命令等等。

【讨论】:

以上是关于Hive 查询性能调优的主要内容,如果未能解决你的问题,请参考以下文章

Hive 的性能调优总结

hive性能优化及参数调优

Hive参数与性能企业级调优

Hive参数与性能企业级调优

Hive参数与性能企业级调优

Hive参数与性能企业级调优