Hive表设计最佳实践
如果你计划着将你的数据库或者数据仓库迁移到Hadoop上,有一些关键的表设计决策将严重影响整个Hive的查询性能,下面我们就看一下hive 表的最佳设计实践
表设计在整个hive 查询性能中扮演着重要的角色。合理的表设计可以减少对存储的占用、增加查询的性能,以及减少内存的使用,主要有下面几点我们要重点关注
- 选择合适的存储格式
- 选择合适的压缩
- 分区表
- 分桶表
选择合适的存储格式
Hive 使用HDFS作为数据的存储,最终表的数据是以HDFS 文件的格式存储在HDFS上的,所以应该选择合适的存储格式从而加速查询性能和提升数据检索的速度。
尽量避免使用TEXT格式、Sequence 格式,以及复杂数据结构格式 例如JSON。理想情况下ORC、Parquet 是比较适合的,如果我们是通过Hive 建设数仓,那其实Parquet 是比较好的,我们建表的时候通过STORED AS
指定存储格式即可,
CREATE TABLE IF NOT EXISTS parquet_table (
col1 int,
col2 string )
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS PARQUET;
更多