元数据概述

元数据定义

元数据是关于数据的数据。元数据打通了源数据、数据仓库、数据应用,记录了数据从产生到消费的全过程。

元数据主要记录数据仓库中模型的定义,各层级间的映射关系、监控数据仓库的数据状态以及ETL作业的任务状态。

元数据可以帮助数据仓库管理员和开发人员非常方便的找到他们所关系的数据,用于指导其进行数据管理和开发工作。

元数据按照用途的不同分为两类:技术元数据和业务元数据。

技术元数据

技术元数据存放关于数据仓库系统技术细节的数据,用于开发和管理数据仓库使用的数据。

  • 分布式存储系统元数据,包含表、列、分区等信息。记录了表名、分区信息、责任人信息、文件大小、表类型、生命周期,以及字段名、字段类型、备注、是否分区字段等信息。
  • 分布式计算系统元数据,包含作业信息、作业类型、实例名称、输入输出、SQL、运行参数、执行时间、最细粒度的执行信息等。
  • 数据开发平台中的数据同步、计算任务、任务调度等信息,包含数据同步的输入输出表和字段,以及同步任务本身的节点信息。
  • 数据质量和运维相关元数据,如任务监控、运维报警、数据质量、故障等信息,包含任务监控运行日志、告警配置及运行日志、故障信息等。

业务元数据

业务元数据是介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据。

  • OneData元数据,如维度及属性、业务过程、指标等规范化定义,用于更好的管理和使用数据,
  • 数据应用元数据,如数据报表、数据产品等配置和运行元数据。

元数据价值

元数据有重要的应用价值,是数据管理、数据内容、数据应用的基础,在数据管理方面为集团数据提供在计算、存储、成本、质量、安全、模型等治理领域上的数据支持。

例如在计算上可以查找超长运行节点,对节点进行专项治理,保障基线产出时间。

在数据内容方面为集团数据进行数据域、数据主题、业务属性等提取和分析提供数据素材。

例如利用元数据构建知识图谱,给数据打标签,清楚地知道现在有哪些数据。

在数据应用方面打通产品及应用链路,保障产品的数据准确、及时产出。

元数据体系建设

元数据的质量直接影响到数据管理的准确性,元数据建设的目的是打通数据接入到加工,再到数据消费整个链路,规范元数据体系与模型,提供统一的元数据服务出口,保障产出的稳定和质量。

元数据管理在数据仓库中的应用实践 元数据管理范围_big data

  1. 首先梳理清楚元仓底层数据,对元数据进行分类,如计算元数据、存储元数据、质量元数据等,减少数据重复建设,保障数据的唯一性。
  2. 丰富表和字段使用说明,方便使用和理解。根据元仓底层数据构建元仓中间层,依据OneData规范,建设元数据基础宽表,也就是元数据中间层,打通从数据产生到消费整个链路。
  3. 基于元数据中间层,对外提供标准统一的元数据服务出口,保障元数据产出的质量。

元数据应用

数据真正的价值在于数据驱动决策,通过数据指导运营。基于数据驱动我们能够判断趋势,从而展开有效行动,帮助自己发现问题,推动创新或解决方案的产生。

对于元数据,可以用于指导数据相关人员进行日常工作,实现数据化”运营“。

对于数据使用者,可以根据元数据更快的找到所需要的数据;

对于ETL工程师,可以通过元数据指导其进行模型设计。

元数据门户

元数据门户通过数据地图+数据管理,建设一站式元数据系统,实现价值管理、安全管理、质量管理。

数据地图围绕数据搜索,服务数据使用者,提供方便快捷的数据搜索、血缘以及影响分析功能,利用表使用说明、评价反馈、收藏等机制,为用户浮现高质量,高保障的目标数据。

数据管理服务于个人开发者、BU管理者、系统管理员等用户,提供个人或BU全局资产管理、成本管理和质量管理。

应用链条分析

元数据血缘链条可以清楚的统计到某个产品所用到的数据在计算、存储、质量上存在哪些问题,通过治理优化保障产品数据的稳定性。

通过链路分析,产出各级别血缘信息, 其中表级别血缘有两种计算方式:一种是通过任务日志进行解析,一种是根据任务依赖进行解析。

其中表的应用血缘解析按照配置关系可以分为配置型和无配置型。对于数据报表、集市等应用,可以直接或间接使用数仓数据且有元数据配置依赖关系,通过配置元数据,可以获得数仓物理表和具体报表、集市的血缘关系。

数据建模

可以使用下游使用的元数据指导数据参考建模。通过元数据驱动的数据仓库模型建设,可以在一定程序上解决此问题,提高数据仓库建模的数据化指导,提升建模效率。

所使用的的元数据主要有:

  • 表的基础元数据,包含下游情况、查询次数、关联次数、聚合次数、产出时间等。
  • 表的关联关系元数据,包含关联表,关联类型,关联字段、关联次数等。
  • 表的字段的基础元数据,包含字段名称、字段注释、查询次数、关联次数、聚合次数、过滤次数。

其中查询是指SQL的SELECT,关联指SQL的JOIN,聚合指SQL的group by,过滤指SQL的WHERE。

驱动ETL开发

元数据管理在数据仓库中的应用实践 元数据管理范围_数据仓库_02

我们可以通过数据下游任务依赖情况、最近被读写次数、数据是否可再生、每天消耗情况,这些信息来判断数据是否可以下线;如果根据一些规则判断可以下线,则会触发一个数据下线的工作流,删除相关数据。