更新时间:2026-10-09 GMT+08:00
如何进行表维护
Paimon表的日常维护是保障查询性能和存储效率的重要环节。主要包括过期快照清理、小文件合并、Manifest文件重写等操作。
过期快照清理
写入表的每个批次都会产生一个新的快照。Paimon会跟踪表元数据中的快照直到它们过期。频繁提交会导致快照快速累积,因此建议对流式写入的表进行定期维护。
- 通过设置snapshot.num-retained.max参数控制保留的快照最大数量,默认值为10。
- 通过设置snapshot.num-retained.min参数控制保留的快照最小数量,默认值为3。
- 通过设置snapshot.time-retained参数控制保留的快照时间范围,超过该时间的快照会被自动清理。
小文件合并
流式写入的数据量通常较小,会导致表跟踪大量小文件。通过Compaction将小文件合并为大文件,可以减少Manifest文件数量并提高查询效率。
- 同步Compaction:通过ALTER TABLE语句手动触发,或在写入时自动触发。
- 异步Compaction:通过Flink或Spark提交异步Compaction任务,在后台合并小文件。
Manifest文件重写
Paimon在写入过程中会不断产生新的Manifest文件。为了优化查询规划性能,可以通过Manifest合并操作将多个小Manifest文件合并为大文件。
- 通过Compaction操作间接触发Manifest文件合并。
- 定期执行表维护操作,确保Manifest文件数量保持在合理范围内。
建议
- 建议一:定期清理过期快照,避免快照数量过多导致元数据膨胀。
- 建议二:定期执行Compaction操作,合并小文件优化查询性能。
- 建议三:为重要版本创建Tag,便于快速回滚到特定版本。
- 建议四:监控表的文件数量和存储大小,及时发现和解决存储问题。
父主题: Paimon开发常见问题