首页/数据/数据工程与 ETL 速查/Hive 分区目录布局与维护
管道基础52 条

Hive 分区目录布局与维护

Hive 表以目录表达分区(如 dt=2026-10-11),分区列不是数据文件里的普通列;新增分区后需要同步元数据,目录与元数据不一致时用 MSCK REPAIR 修复。

布局/仓库/库.db/表/dt=2026-10-11/part-00000.parquet
语义分区列附加在目录上,数据文件不重复存分区列
维护ADD PARTITION / MSCK REPAIR TABLE 同步元数据

分区操作

分区操作
ALTER TABLE dwd_order ADD IF NOT EXISTS PARTITION (dt = '2026-10-11');
MSCK REPAIR TABLE dwd_order;   -- 扫描目录补登记缺失分区(Hive)
动态分区写入默认上限较高,建议显式限制单次分区数,避免一次生成过多小分区。

易错点

  • 直接往目录里补数据不登记分区,SELECT 看不到数据(点查明细能读到,但聚合扫描看不到)
  • 分区列命名风格混用(dt 与 date_str)会让跨表关联与裁剪逻辑变复杂

数据来源与参考

  • Apache Hive 官方文档:Partitioned Tables 与 MSCK REPAIR TABLE
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌