大数据:元数据(Metadata)-飞外

主要记录:数据仓库中模型的定义、各层级间的映射关系、监控数据仓库中的数据状态、监控 ETL 的任务的运行状态;在数据仓库系统中,元数据可以帮助数据仓库管理员和开发人员,非常方便的找到他们所关系的数据,用于指导其进行数据管理和开发,提供工作效率;
如,MaxCompute 表、列、分区等:记录了表的表名、分区信息、负责人信息、文件大小、表类型,生命周期;列的字段名、字段类型、字段备注、是否是分区字段等;
类似于 Hive 的 Job 日志,包括作业类型、实例名称、输入输出、SQL、运行参数、执行时间、最细粒度的 Fuxi Instance(MaxCompute 中 MR执行的最小单元)执行信息等;
数据同步信息:数据同步的输入输出表和字段、同步任务本身的节点信息;任务调度信息:任务的依赖类型、依赖关系等,以及不同类型调度任务的运行日志等;计算任务信息:输入输出、任务本身的节点信息;
如任务监控、运维报警、数据质量、故障等信息,包括任务监控运行日志、告警配置及运行日志、故障信息等;
作业 / 用途:从业务角度描述了数据仓库中的数据,提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够 “读懂” 数据仓库中的数据;
打通数据接入到加工,再到数据消费的整个链路,规范元数据体系与模型,提供统一的元数据服务出口,保障元数据产出的稳定性和质量;
依据 OneData 规范,建设元数据基础宽表,也就是元数据中间层,打通从数据产生到消费的整个链路,不断丰富中间层数据;如,MaxCompute 元数据、调度元数据、同步元数据、产品访问元数据、服务器元数据、应用注册元数据等;
丰富的元数据中间层,能够为集团数据提供在计算、存储、成本、质量、安全、模型等治理领域上的数据支持,形成一套完整的 ROI 数据体系;丰富的元数据中间层,还能为为集团数据进行数据内容、数据域、数据主题、业务属性等的提取和分析提供了数据素材;
数据化运营:通过数据驱动的方法,判断趋势,从而展开有效行动,帮助发现问题,推动创新或解决方案的产生;
对于数据使用者,可以通过元数据指导其快速找到所需要的数据;对于 ETL 工程师,可以通过元数据指导其进行模型设计、任务优化、任务下线等各种日常 ETL 工作;对于运维工程师,可以通过元数据指导其进行整个集群的存储、计算、系统优化等运维工作;
主要功能:通过图计算、标签传播算法等技术,系统化、自动化的对计算与存储平台上的数据,进行打标、整理、归档;形象的说,Data Profile 实际承担的是为元数据 “画像” 的任务;
思路:数据之间的个性化,除了应用场景的不同之外,实际上在数据研发流程、保障登记、数据质量要求、安全等级、运维策略、警告设置上都会有差异;作用:节约研发人员的时间成本,同时对阿里内部的非研发人员来说,也可以更直观的理解数据、利用数据,从而提升数据的研发效率;根据这种差异化,Data Profile 开发了四类标签:基础标签:针对数据的存储情况、访问情况、安全等级等进行打标;数仓标签:针对数据是增量还是全量、是否可再生、数据的生命周期来进行标签化处理;业务标签:根据数据归属的主题域、产品线、业务类型,为数据打上不同的标签;潜在标签:主要为了说明数据潜在的应用场景,如,社交、媒体、广告、电商、金融等;
服务对象:围绕数据搜索,服务于数据分析、数据开发、数据挖掘、算法工程师、数据运营等,数据表的使用者和拥有者;服务内容:提供方便快捷的数据搜索服务,拥有功能强大的血缘信息及影响分析,利用表使用说明、评价反馈、表收藏级精品表机制,为用户浮现高质量、高保障的目标数据;如,在数据分析前,使用数据地图进行关键词搜索,帮助快速缩小范围,找到对应的数据;如,使用数据地图根据表名直接查看表详情,快速查阅明细信息,掌握使用规则;如,通过数据地图的血缘分析,可以查看每个数据表的来源、去向,并查看每个表及字段的加工逻辑;
服务对象及内容:个人开发者、BU 管理者、系统管理员等用户,提供个人和 BU 全局资产管理、成本管理、质量管理等;针对个人开发者,主要包括计算费用和健康分管理、存储费用和健康分管理,并提供优化建议和优化接口;针对 BU 管理者和管理员,主要提供 BU、应用、集群等全局资产消耗概览、分析和预测;
配置数据间的 “血缘关系”,用户可以通过元数据血缘,分析产品及应用的链路;通过血缘链路可以清楚的统计到某个产品所用到的数据在计算、存储、质量上存在哪些问题;通过治理优化保障产品数据的稳定性;
对于某个数据计算任务或表,其重要程度如何?是否还有下游在使用?是否可以下线?阿里的很多数据产品,都依赖哪些 MaxCompute 表?对这些 MaxCompute 表是否需要根据应用的重要程度进行资源、运维保障?
通过元数据血缘来分析产品及应用的链路,通过血缘链路可以清楚的统计到某个产品所用到的数据在计算、存储、质量上存在哪些问题,通过治理优化保障产品数据的稳定性;
如,对于数据报表、集市等应用,其数据源直接或间接使用 MaxCompute 数据,且有元数据配置依赖关系,通过配置元数据,可以获取 MaxCompute 物理表、具体的报表、集市等应用的血缘关系;问题案例:对于生意参谋等数据产品,其数据源通过数据同步方式同步到 MySQL、HBase 等数据库,间接使用 MaxCompute 数据,且无配置产品和 MySQL、HBase 等物流数据源的依赖关系,导致无法通过配置源数据解析 MaxCompute 数据和数据产品的关系;解决方案:主要通过统一的应用日志打点 SDK 来解决此类问题,可以做到配置化、应用无痕化;
常见的应用链路分析应用:主要有影响分析、重要性分析、下线分析、链路分析、寻根溯源、故障排查等;
思路 / 业务场景:基于现有底层数据已经有下游使用的情况,可以通过下游使用的元数据指导数据参考模型;通过元数据驱动的数据仓库模型建设,提高了数据仓库建模的数据化指导,提升建模效率;下游使用情况:指查询、关联、聚合、过滤等操作;记录下游使用情况的数据,就是辅助建设模型的元数据;
其中,查询值 SQL 的 SELECT,关联指 SQL 的 JOIN,聚合指 SQL 的 GROUP BY,过滤指 SQL 的 WHERE;
基于下游使用中关联次数大于某个阈值的表,或查询次数大于某个阈值的表等元数据信息,筛选用于数据模型建设的表;基于表的字段元数据,如,字段中的时间字段、字段在下游使用中的过滤次数等,选择业务过程标识字段;基于主从表的关联关系、关联次数,确定和主表关联的从表;基于主从表的字段使用情况,如,字段的查询次数、过滤次数、关联次数、聚合次数等,确定哪些字段进入目标模型;
通过 Data Profile 得到数据的下游任务依赖情况、最近被读写次数、数据是否可再生、每天消耗的存储计算等,通过这些信息判断数据是否可以下线;如果根据一些规则判断数据可以下线,则会通过 OneClick 触发一个数据下线的工作任务流,数据 Owner 可能只需要点击提交按钮,删除数据、删除元数据、下线调度任务、下线 DQC 监控等一些列的操作就会自动在后台执行完成;