元数据简介
元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据。它的作用类似于数据库管理系统的数据字典,保存了逻辑数据结构、文件、地址和索引等信息。
元数据是数据仓库管理系统的重要组成部分,元数据管理器是企业级数据仓库中的关键组件,贯穿数据仓库构建的整个过程,直接影响着数据仓库的构建、使用和维护。
目前存在问题:
- 查看表信息不方便(查看、检索、表复用)
- 表依赖关系不清楚(血缘关系)
- 表信息过少(维护者、量级、是否可用)
- 表权限管理、数据管理、数据质量监控
元数据数据模型
Metadata Groups | Metadata |
---|---|
Basic | 大小、格式、别名、最后一次修改时间、 权限访问控制表 |
Content-based | 结构、条数、数据图谱、主键、频繁词汇、相似数据集 |
Provenance | 读任务、写任务、下游数据集、上游数据集 |
User-supplied | 描述、注释 |
Team and Project | 项目描述、所属团队 |
Temporal | 修改历史 |
可参考 Goods: Organizing Google’s Datasets论文
Hive元数据设计
表名 | 说明 | 关联键 |
---|---|---|
TBLS | 所有hive表的基本信息 | TBL_ID,SD_ID |
TABLE_PARAM | 表级属性,如是否外部表,表注释等 | TBL_ID |
COLUMNS | Hive表字段信息(字段注释,字段名,字段类型,字段序号) | SD_ID |
SDS | 所有hive表、表分区所对应的hdfs数据目录和数据格式 | SD_ID,SERDE_ID |
SERDE_PARAM | 序列化反序列化信息,如行分隔符、列分隔符、NULL的表示字符等 | SERDE_ID |
PARTITIONS | Hive表分区信息 | PART_ID,SD_ID,TBL_ID |
PARTITION_KEYS | Hive分区表分区键 | TBL_ID |
PARTITION_KEY_VALS | Hive表分区名(键值) | PART_ID |