数据仓库与 OLAP元数据服务
Metastore 是什么?
存表名、字段、分区、文件位置,是整个数据湖的“户口本”
类比:图书馆的目录卡片,书在哪一排全靠它
它存了什么
库、表、字段、分区、文件路径、存储格式、SerDe 信息。真正的数据在 HDFS / S3 上,Metastore 只是一个关系库(通常是 MySQL)加一层 Thrift 服务。
为什么它这么重要
Spark、Trino、Flink、Iceberg、Hudi 全都通过 Metastore 拿表定义。它一挂,所有引擎都读不了表——数据还在,但没人知道怎么解析。所以生产环境必须给 Metastore 做高可用和备份。
这也是 Hive 没有被淘汰的原因:计算引擎换了一茬又一茬,元数据标准还是它。
常见故障
最常见的是 Metastore 的 MySQL 连接数打满,表现为所有查询卡住。其次是分区太多(几十万个)导致 `show partitions` 超时。前者加连接池,后者要收敛分区粒度(按天改按月)。