数据岗位面试题更新 2026-08-05

请说明在 Hive 中压缩表的常用方法,并列举常见的压缩格式及其特点。

数据技术原理方案权衡Apache Hive

考察说明

考察对 Hive 表压缩管理的理解以及常见压缩格式的掌握情况。

回答思路

  1. 【回答框架 1】Hive 中管理表压缩主要涉及存储格式与压缩编解码器的结合。常见的存储格式如 TextFile、SequenceFile、RCFile、ORC、Parquet 等,其中 ORC 和 Parquet 默认支持压缩且压缩比高。
  2. 【回答框架 2】常用的压缩格式有 Gzip、Bzip2、Snappy、LZO、Zstd 等。Gzip 和 Bzip2 压缩比高但压缩和解压速度较慢;Snappy 和 LZO 压缩速度快但压缩比相对较低,适合需要快速读写的场景。
  3. 【回答框架 3】具体管理中,可以在建表语句中指定格式与压缩,例如 STORED AS ORC 并设置 TBLPROPERTIES ('orc.compress'='SNAPPY')。对于已有表也可以修改表属性或使用 ALTER TABLE 语句更改压缩相关设置。
  4. 【回答框架 4】还可以通过设置全局参数如 hive.exec.compress.output 与 hive.exec.compress.intermediate 来控制 MapReduce 输出和中间结果的压缩。
  5. 【回答框架 5】选择压缩格式时需要权衡压缩比、压缩/解压速度以及查询性能,并考虑存储成本和集群资源消耗,建议通过实际测试确定最优方案。
  6. 【关键点 1】压缩格式与存储格式需配套使用,ORC 和 Parquet 往往支持更好的压缩
  7. 【关键点 2】选择压缩格式时需权衡压缩比、速度和资源消耗
  8. 【关键点 3】通过建表属性或全局参数可实现压缩的开启与配置
  9. 【易错点 1】压缩与存储格式混用可能导致兼容性问题,需确保版本支持
  10. 【易错点 2】过于追求高压缩比可能引起解压性能下降,影响查询效率