目录
表、字段元数据主要可以分为原始信息和附加信息两大类,原始信息包含:表名、表备注、字段名、字段类型、字段备注、表的大小、分区信息等,附加信息可以是跟表、字段相关的包含一些业务属性的信息,如表归属人、表安全等级、字段安全等级等。
表、字段的元数据信息是大数据平台建设的基础,随着业务发展,会发现,若一开始对这一块基础没设计好,会遇到很多问题(原以为元数据原理这种是比较基础的东西,一般的公司在最初做平台规划的时候都会把这些规划进去,但实际有些公司在前期架构设计很差,一些基础的东西也没意识到重要性,导致给后面埋很大的坑)
拿hive数据源来做示例,一个比较好的大数据平台表元数据应该在mysql中维护一份和hive底层表原始信息强一致的数据,要想两边的元数据信息强一致,就需要对hive表的ddl操作权限收口。很多公司,全公司范围内的hadoop集群可能就只有一个,hive数据源的使用也是全公司范围内在使用,若未对hive数据源的使用收口,那hive元数据的维护是一件非常麻烦的事情,麻烦的点主要在于,若有用户对hive表进行了ddl操作,无法很快感知到这个变动从而更新mysql中的元数据信息;所以,ddl权限的收口是必须要做的事情,必须把hive表的ddl操作收口到大数据平台,平台能识别到用户的所有ddl操作,从而同步在mysql中维护一份和hive底层强一致的元数据信息。(注:权限的收口不仅是技术手段,还需要行政手段去支持,技术手段的角度即大数据平台要很好地支持用户所有的ddl操作,让用户觉得好用;而行政手段即,当公司只有一个hadoop集群的时候,公司所有部门都在使用,已经有很多部门在使用的情况,若需要收口权限,需要公司大的tl去推动这个事情进行)
很多公司前期没有意识到表元数据信息的重要性,主要原因还是在于前期业务比较简单,也没怎么用到表元数据信息,但后续业务发展意识到元数据重要性的时候,已经需要为前期设计的不合理埋单了。涉及到表元数据的一些功能模块主要有:数据质量、数据血缘、表权限、字段权限等,以上模块都是基于表元数据作基础的。
作业元数据,也包含了基本信息和附加信息两部分,基本信息主要有作业名、作业类型、作业内容、作业负责人、作业调度、作业之间的依赖等。而诸如作业调度日志、作业失败次数等信息,为附加信息,可以帮助用户在作业调度出现问题得时候,快速定位到问题。很多大数据平台,对作业的基础信息维护得较可以,但对作业的附加信息则不是那么重视,当作业调度出现问题的时候,会发现,一个好的作业的附件信息,帮助用户快速排查作业调度失败的原因,节约了很多时间