元数据可以简单解释为数据的数据,而元数据可以分为数据字典、数据血缘和数据特征,是统一指标和业务口径的前提。
元数据中心的核心就是搜集管理元数据信息,并提供元数据信息服务。
数据字典:表名、注释、产出表的任务,表的字段、含义和类型。
数据血缘:这个表是通过哪些表加工而来,甚至每个字段是怎么来的。
数据特征:存储大小、访问情况、主题域、分层、表关联的指标。
实现思路
数据字典:
通过连接各个数据源,获取各个数据库的元数据信息,将信息集成在一起。
数据血缘:
主要有三种方式
静态解析sql:获得输入和输出表,未执行正确性存在问题。
解析任务日志:获取执行后的输入输出表,时效性差。
抓取正在执行的的sql:通过解析执行计划获取输入输出表,将解析内容由kafka插入图数据库,通过图数据库进行分析。采集Hive Hook,Spark Listener,Flink Hook等,图数据由neo4j。
数据特征:
人工打上标签,统计一些存储信息和使用人员交互信息。
实现的功能
支持多业务线和多租户。
对多种数据源支持。
采集、分析数据血缘、字段血缘、血缘生命周期管理。
用Ranger做数据权限管理。
数据特征做包括数据标签如包括主题域、分层信息,以及数据访问度等。
元数据服务,支持多维度的数据信息检索。