作为大数据的测试人员,对大数据的一些基本知识需要进行深入学习一下,最近在学习极客时间的<数据中台实践课>的一些感受和记录。
元数据
数据中台的构建,需要确保全局指标的业务口径一致,要把原先口径不一致的\重复的指标进行梳理,整合成一个统一的指标字典。而这项工作的前提,是要搞清楚这些指标的业务口径\数据来源和计算逻辑。
元数据:主要分3类(数据字典\数据血缘\数据特征)。
- 数据字典:描述的是数据的结构信息。主要包括表名\注释信息\表的产出任务\每个表都有哪些字段\这些字典分别代表什么含义\字段的类型。
- 数据血缘:一个表是直接通过哪些表加工而来。一般用于做影响分析和故障溯源。
- 数据特征:主要指数据的属性信息,比如存储空间大小\访问热度\主题域\分层\表关联的指标。
业界元数据中心产品
开源的有Netflix的Metacat、Apache Atlas,前者擅长管理数据字典,后者擅长于管理数据血缘。
商业化的产品有:Cloudera Navigator.
血缘采集,一般可以通过3种方式
通过静态解析SQL,获得输入表和输出表
通过实时抓取正在执行的SQL,解析执行计划,获取输入表和输出表
通过任务日志解析的方式,获取执行后的SQL输入表和输出表
网易元数据中心设计
必须实现的5个关键目标:
其一,多业务线、多租户支持。
其二,多数据源支持(比如mysql、Hive、Kudu等,半结构化的KV管理【kafka、redis、hbase】),同时还要支持相同数据源的多个集群。
其三,数据血缘。元数据中心需要支持数据血缘的实时采集和高性能的查询,同时还要支持字段级别的血缘。
其四,与大数据平台集成。元数据中心需要与ranger集成,实现基于tag的权限管理方式。
其五,数据标签。必须支持对表和表中的字段打标签,通过丰富的不同类型的标签,可以完善数据中台数据的特征,比如指标可以作为一种类型的标签打在表上,主题域、分层信息都可以作为不同类型的标签关联到表。
网易元数据中心系统架构设计图:
数据血缘:采集端、消息中间件、消费端以及血缘清理模块组成,基于Hive Hook,Spark Listener,Flink Hook,可以获取任务执行时输入表和输出表,推送给统一的消息中间件(kafka),然后消费端负责将血缘关系沉淀到图数据库中。
网友评论