《Hive用户指南》- Hive性能调优相关

2020-07-01 00:00:00 数据 字段 分区 分区表 倾斜

Hive针对的应用场景是OLAP,通常对大数据集进行查询等操作,很多SQL要运行几十分钟到几个小时。

因此我们在使用Hive时,要注意对SQL的性能进行调优,主要包括两点——

  • 避免时间复杂度过高的SQL
  • 避免数据倾斜问题

针对Hive的性能调优,本文分为4个部分介绍,包括——

  • 数据模型相关的知识点
  • 特定场景下的优化
  • 配置相关的优化
  • 常见数据倾斜解决方案

1. 数据模型相关

对于Hive中的表,可以建立为分区表桶表,了解这两种表,在合适的场景下使用可以提高Hive的性能。

1.1 Partition 分区表

分区表是指表按照某个字段进行划分,比如日期等。

分区表需要在创建表的时候通过PARTITIONED BY指定分区字段,如下为按照年份进行分区,注意分区字段不能跟前面括号中的字段重复。

CREATE TABLE employee(id INT, name STRING)
PARTITIONED BY(year INT)

相关文章