目录
三、数据管理篇
12.元数据
12.1 元数据概念
12.1.1 元数据定义
按照传统的定义,元数据(Metadata)是关于数据的数据。元数据打通了源数据、数据仓库、数据应用,记录了数据从产生到消费的全过程。元数据主要记录数据仓库中的模型的定义、各层级间的映射关系、监控数据仓库的数据状态一级ETL的任务运行状态。在数据仓库系统中,元数据可以帮助数据仓库管理员和开发人员非常方便的找到他们所关心的数据,用于指导其进行数据管理和开发工作,提高工作效率。
元数据可以分为技术元数据 和 业务元数据。
-
技术元数据(Technical Metadata):技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库是使用的数据。阿里巴巴常见的技术元数据有:
-
分布式计算系统存储元数据,如MaxCompute上所有作业运行等信息;类似Hive的Job日志,你包括作业类型、实例名称、输入输出、SQL、运行参数、执行时间、最细粒度的FuXi Instance执行信息等;
-
数据开发平台中数据同步,计算任务、任务调度等信息,包括数据同步的输入输出表和字段,以及同步任务本身的节点信息;计算任务主要有输入输出、任务本身的节点信息;任务调度主要有任务的依赖类型、依赖关系等,以及不同类型调度的运行日志等;
-
数据质量和运维相关元数据,如任务监控、运维报警、数据质量、故障灯信息,包括任务监控运行日志、告警配置及运行日志、故障信息等;
-
业务元数据(Business Metadata):业务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语音层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据;
-
OneData元数据,如维度及属性、业务过程、指标等的规范化定义,用于更好地管理和使用数据;
-
数据应用元数据,如数据报表、数据产品等的配置和运行元数据;
12.1.2 元数据价值
元数据有重要的应用价值,是数据管理、数据内容、数据应用的基础,在数据管理方面为集团数据提供在计算、存储、成本、质量、安全、模型等治理领域上的数据支持。例如在计算上可以利用元数据查找超长运行节点,对这些节点进行专项治理,保障基线产出时间。在数据内容方面为集团数据进行数据域、数据主题、业务属性等的提取和分析提供数据素材。例如可以利用元数据构建知识图谱,给数据打标签,清楚的知道现在有哪些数据。在数据应用方面打通产品及应用链路,保障产品数据准确、及时产出。例如打通MaxCompute和应用数据,明确数据资产等级,更有效地保障产品数据;
12.1.3 统一元数据体系建设
元数据的质量直接影响到数据管理的准确性,如何把元数据建设好将起到至关重要的重要的作用。元数据建设的目标是打通数据接入到加工,再到数据消费整个链路,规范元数据体系与模型,提供统一的元数据服务出口,保障元数据产出的稳定性和质量;
首先梳理清楚元仓底层数据,元数据做分类,如计算元数据、存储元数据、质量元数据等,减少数据重复建设,保障数据的唯一性。另外,要丰富表和字段的使用说明,方便实用和理解。根据元仓底层数据构建元仓中间层,依据OneData规范,建设元数据基础宽表,也就是元数据中间层,打通从数据产生到消费整个链路,不断丰富中间层数据,如MaxCompute元数据、调度元数据、同步元数据、产品访问元数据、服务元数据等。基于元数据中间层,对外提供标准统一的元数据服务出口,保障元数据产出的质量,丰富的元数据中间层不仅能够为集团数据提供在计算、存储、成本、质量、安全、模型等治理领域上的数据支持,形成一套完整的ROI数据体系,而且为集团数据进行数据内容、数据领域、数据主题、业务属性等的提取和分析提供了数据素材;
12.2 元数据应用
数据的真正价值在于数据驱动决策,通过数据指导运营。通过数据驱动的方法,我们能够判断趋势,从而展开有效行动,帮助自己发现问题,推动创新或解决方案的生产;对于元数据,可以用于指导数据相关人员进行日常工作,实现数据化“运营”;例如数据使用者,可以通过元数据让其快速找到所需要的数据;对ETL工程师,可以通过元数据指导其进行模型设计、任务优化和任务下线等各种日常ETL工作;对于运维工程师,可以通过元数据指导其进行整个集群的存储、计算和系统优化等运维工作;
12.2.1 Data Profile
Data Profile的出现,很好地解决了在研发初期数据处理的繁杂困境,即节约了时间成本,同时也缩减了相当一部分人力资源。它的核心思路是为纷繁复杂的数据建立一个脉络清晰的血缘关系图谱。通过图计算、标签传播算法等技术,系统化、自动化地对计算与存储平台上的数据进行打标、整理、归档。形象地说,Data Profile实际承担的是为了元数据“画像”的任务;数据之间的个性化,除了应用场景的不同之外,实际上在数据的研发流程、保障等级、数据质量要求、安全等级、运维策略、告警设置上都有差异。
Data Profile开发了四类标签
-
基础标签:针对数据的存储情况,访问情况、安全等级等进行打标;
-
数仓标签:针对数据是增量还是全量、是否可再生、数据的生命周期来进行标签化处理;
-
业务标签:根据数据归属的主题域、产品线、业务类型为数据打上不同的标签;
-
潜在标签:这类标签主要是为了说明数据签字啊的应用场景,比如社交媒体、广告、电商、金融等;
12.2.2 元数据门户
阿里基于元数据产出的最重要产品是元数据门户。元数据门户致力打造一站式的数据管理平台、高效的一体化数据市场。包括“前台”和“后台”。
12.2.3 应用链路分析
对于某个数据计算任务或表,其重要程度如何,是否还有下游在使用,是否可以下线;阿里有这么多数据产品,都依赖那些MaxCompute表,对这些MaxCompute表是否需要根据应用的重要程度进行资源、运维保障;对于这些问题,我们可以通过元数据血缘关系来分析产品以及应用的链路,通过血缘链路可以清除地统计到某个产品所用到的数据在计算、存储、质量上存在哪些问题,通过治理优化保障产品的稳定性。
主要分成两部分统计
-
一种是通过MaxCompute任务日志进行解析。
-
一种是根据任务以来进行解析。
12.2.4 数据建模
所使用的元数据有
-
表的基础元数据:下游情况、查询次数、关联次数、聚合次数、产出时间。
-
表的关联关系元数据:关联表、关联类型、关联字段、关联次数、
-
表的字段基础元数据:字段名称、字段注释、查询次数、关联次数、聚合次数、过滤次数。
在星型模式设计中,可能类似于如下使用元数据:
-
基于下游使用中关联次数大于某个阈值的表或者查询次数大于某个阈值的表等元数据信息,筛选用于数据模型建模的表;
-
基于表的字段元数据,如字段中的时间字段、字段在下游使用中的过滤次数等,选择业务过程标识字段;
-
基于主从表等关联关系、关联次数,确定和主表关联的从表;
-
基于主从表的字段使用情况,如字段的查询次数、过滤次数、关联次数、聚合次数等,确定哪些字段进入目标模型;
12.2.5 驱动ETL开发
-
通过元数据,指导ETL工作,提供ETL的效率;
-
在“数据同步”章节中,我们提到了通过元数据驱动一键、批量高效数据同步的OneClick;
</