Hive表parquet.compress与parquet.compression的区别及适用版本
Hive 存储Parquet格式表的压缩配置说明
基础配置方式
对于存储格式为Parquet的Hive表,可通过表属性配置压缩参数,基础配置写法为:TBLPROPERTIES ('parquet.compress[ion]'='SNAPPY')
两个易混淆配置键的适配规则
在实际使用和公开技术资料中,parquet.compress、parquet.compression两个参数名都曾被作为有效配置使用,二者的适用场景与版本支持规则如下:
parquet.compress:是Parquet项目发展初期、Hive 0.13及更早版本中内置Parquet实现时沿用的旧配置键,该版本下的Parquet输入输出层仅能识别该键值,完成写入数据的压缩编码指定。parquet.compression:是Parquet 1.6.0版本后正式定义的标准化配置键,对应Hive 0.14及后续版本(包含Hive 2.x、3.x全版本)的Parquet模块对接逻辑,是当前官方推荐使用的标准配置键名。- 兼容性说明:部分高版本Hive为了降低旧业务的迁移成本,内置了对
parquet.compress的识别映射逻辑,但该兼容能力不属于官方长期承诺的支持范围,跨Hive大版本迁移时,很容易因为兼容逻辑调整出现压缩配置失效的问题。
官方参考资料说明
- Hive 官方文档针对Parquet格式的配置记录,明确划分了两个配置键的适用版本边界:Hive 0.13及之前版本的官方文档仅收录
parquet.compress作为表级压缩配置;Hive 0.14及后续大版本的官方文档,将parquet.compression列为标准配置项,同时在兼容特性列表中标注了对旧键名的过渡支持逻辑。 - Parquet 官方的配置项规范中,
parquet.compression是正式列入配置清单的持久化参数,旧版的parquet.compress属于项目早期的临时命名,已在后续迭代中标记为废弃状态。
内容的提问来源于stack exchange,提问作者Selnay
相关产品推荐
相关产品推荐

