Hive 中所有推荐的优化技术是什么?

What are all the recommended optimization techniques in Hive?

嗯,我在编写查询时知道一些优化技术,例如分区和分桶。 运行 TEZ模式下的蜂巢。但是,除此之外,hive 中还有其他优化技术。

有很多技巧:

  • 使用 Tez
  • 使用 ORCFile
  • 使用向量化
  • 基于成本的查询优化
  • 写得恰当高效SQL

详情请参考以下hortonworks post:

http://hortonworks.com/blog/5-ways-make-hive-queries-run-faster/

您至少可以设置以下参数进行性能优化:-

set set hive.exec.reducers.max=no_of_reducers; -- 并行处理的 reducer 数量。

set hive.exec.reducers.bytes.per.reducer=value_in_bytes; -- 将处理负载平均分配给每个减速器。

set hive.auto.convert.join=true; -- 在运行时自动将连接转换为 mapjoins 如果可能,

set hive.enforce.bucketing = true; -- 如果 table 是 bucketed 你需要写这个参数,没有。桶的数量将等于没有。减速器。