阿里巴巴大数据之路-元数据

本文介绍了阿里巴巴的大数据元数据,包括元数据的定义、价值和统一体系建设。元数据在数据管理、内容分析和应用方面起到关键作用,如驱动ETL开发、建立Data Profile、元数据门户和应用链路分析。同时,它还强调了元数据在数据建模中的指导作用,以及如何通过元数据进行数据质量与模型治理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

元数据

元数据概述

元数据定义

  • 元数据( Metadata )是关于数据的数据

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

  • 主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态及 ETL 的任务运行状态

  • 按用途分两类

    • 技术元数据

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

      • 常见技术元数据类型

        • 分布式计算系统存储元数据

          • 理解为数据地图:如表、列、分区、责任人、生命周期等信息。
        • 分布式计算系统运行元数据

          • 理解为系统运行日志:类似Hive的job日志,包括作业类型、实列名称、SQL、运行参数、执行时间、最细粒度等
        • 数据开发平台中数据同步、计算任务、任务调度等信息

          • 理解为血缘关系:数据同步输入输出表与字段、计算任务、任务调度类型、依赖关系等
        • 数据质量和运维相关元数据

          • 理解为任务质量监控:任务监控、运维报警、数据质量、故障等信息,包括任务监控运行日志、告警配置及运行日志、故障信息等
    • 业务元数据

      • 不懂计算机技术的业务人员也能够“ 读懂”数据仓库中的数据

      • 常见业务元数据类型

        • OneData 元数据

          • 如维度及属性、业务过程、指标等的规范化定义,用于更好地管理和使用数据
        • 数据应用元数据

          • 如数据报表、数据产品等的配置和运行元数据

元数据价值

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

  • 利用元数据查找超长运行节点,对这些节点进行专项治理,保障基线产出时间
  • 在数据内容方面为集团数据进行数据域、数据主题、业务属性等的提取和分析提供数据素材
  • 元数据构建知识图谱,给数据打标签,清楚地知道现在有哪些数据
  • 在数据应用方面打通产品及应用链路,保障产品数据准确、及时产出

统一元数据体系建设

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

  • 统一元数据体系建设思路图

  • 在这里插入图片描述

  • 构建思路步骤

    • 梳理清楚元仓底层数据

      • 对元数据做分类,如计算元数据、 存储元数据、质量元数据等,减少数据重复建设,保障数据的唯一性
    • 丰富表和字段使用说明

      • 方便使用和理解
    • 根据元仓底层数据构建元仓中间层

      • 依据 OneData 规范,建设元数据基础宽表,也就是元数据中间层,打通从数据产生到消费整个链路 ,不断丰富中间层数据
    • 对外提供标准统一的元数据服务出口

      • 基于元数据中间层,对外提供标准统一的元数据服务出口,保障元数据产出的质量
    • 为数据质量与模型等治理领域上支持

      • 丰富的元数据 中间层不仅能够为集团数据提供在计算、存储、成本、质量、安全、模型等治理领域上的数据支持,形成一套完整的 ROI 数据体系
    • 提取和分析提供数据素材

      • 为集团数据进行数据内容、数据域、数据主题、业务属性等的提取和分析提供了数据素材

元数据应用

元数据应用价值

  • 数据的真正价值在于数据驱动决策,通过数据指导运营
  • 可以用于指导数据相关人员进行日常工作,实现数据化“运营”
  • 数据使用者:可以通过元数据让其快速找到所需要的数据
  • ETL开发:可以通过元数据指导其进行模型设计、任务优化和任务下线等各种日常 ETL 工作
  • 运维工程师:可以通过元数据指导其进行整个集群的存储、计算和系统优化等运维作

Data Profile

  • Data Profile 实际承担的是为元数据“画像”的任务

  • 四类数据标签

    • 基础标签

      • 针对数据的存储情况、访问情况、安全等级等进行打标
    • 数仓标签

      • 针对数据是增量还是全量、是否 可再生、数据的 生命周期来进行标签化处理
    • 业务标签

      • 根据数据归属的主题域、产品线、业务类型为数据打上不同的标签
    • 潜在标签

      • 这类标签主要是为了说明数据潜在的应用场 景, 比如社交、媒体、广告、电商、金融等
  • Data Profile构建图

  • 在这里插入图片描述

元数据门户

  • 元数据门户致力 打造一站式 的数据管理平台、高效的一体化数据市场

  • 门户产品定位

    • 前台:数据地图

      • 定位消费市场,实现检索数据 、 理解数据等“找数据”需求“

        数据地图围绕数据搜索,服务于数据分析、数据开发、数据挖掘、算法工程师、数据运营等数据表的使用者和拥有者,提供方便快捷的数据搜索服务,拥有功能强大的血缘信息及影响分析,利用表使用说明、评价反馈 、表收藏及精品表机制,为用户浮现高质量、高保障的目标数据。 比如在进行数据分析前,使用数据地图进行关键词搜索,帮助快速缩小范围,找到对应的数据;比如使用数据地图根据表名直接查看表详情,快速查阅明细信息,掌握使用规则:比如通过数据地图的血缘分析可以查看每个数据表的来源、去向,并查看每个表及字段的加工逻辑

    • 后台:数据管理

      • 定位于一站式数据管理,实现成本管理、安全管理、质量管理等

        数据管理平台围绕数据管理,服务于个人开发者 、 BU 管理者、系 统管理员等用户,提供个人和 BU 全局资产管理、成本管理和质量管理 等。针对个人开发者,主要包括计算费用和健康分管理、存储费用和健 康分管理 ,并提供优化建议和优化接口:针对 BU 管理者和管理员,主 要提供 BU、应用、集群等全局资产消耗概览、分析和预测。

应用链路分析

  • 产出表级血缘、字段血缘和表的应用血缘

  • 表级血缘两种计算方式

    • 任务日志解析
    • 任务依赖解析
  • 表的应用血缘解析

    • 应用和物理表的配置关系

      • 配置型

        • 采用统一调度系统配置任务,可以系统解析
      • 无配置型

        • 导入数据或调度其他组件生产数据,导致无法配置解析

        • 解决方式:统一应用日志打点SDK解决

          其实还是没太懂怎么去解决的,比如开发平台与程序调度组件问题?通过程序调度配置项目标识?这里面作者也只是随口一提

  • 血缘的应用

    • 主要有影响分析、重要性分析、下线分析、链路分析、寻根溯源、故障排查等

数据建模

  • 元数据指导数据参考建模,提升建模效率

  • 参考使用的元数据

    • 表的基础元数据,包括下游情况、查询次数、关联次数、聚合次数、产出时间等
    • 表的关联关系元数据,包括关联表、关联类型、关联字段、关联次数等
    • 表的字段的基础元数据,包括字段名称、字段注释、查询次数、关联次数、聚合次数、过滤次数等
  • 星形模型设计指导点

    • 基于下游使用中关联次数大于某个阔值的表或查询次数大于某个阐值的表等元数据信息,筛选用于数据模型建设的表
    • 基于表的字段元数据,如字段中的时间字段、字段在下游使用中的过滤次数等 ,选择业务过程标识字段
    • 基于主从表的关联关系、关联次数,确定和主表关联的从表
    • 基于 主从表的 字段使用情况,如字段的查询次数、过滤次数、关联次数、聚合次数等,确定哪些字段进入目标模型

驱动 ETL 开发

  • 元数据驱动一键、批量高效数据同步的OneClick

    这里又提到了one,大意理解阿里系统是设计思路就是”总之一句话“
    在这里插入图片描述

  • 数据治理判断

    通过 Data Profile 得到数据的下游任务依赖情况、最近被读写的次数、数据是否可再生、每天消耗的存储计算等,这些信息足以
    让我们判断数据是否可以下线;如果根据一些规则判断可以下线,则 会通过 OneClick 触发一个数据下线的工作任务流,数据 Owner 可能只 需要点击提交按钮,删除数据、删除元数据、下线调度任务、下线 DQC监控等一系列操作就会自动在后台执行完成

阿⾥巴巴⼤数据之路 阿⾥巴巴⼤数据之路——数据技术篇 数据技术篇 ⼀、整体架构 ⼀、整体架构      从下⾄上依次分为数据采集层、数据计算层、数据服务层、数据应⽤层    数据采集层:以DataX为代表的数据同步⼯具和同步中⼼    数据计算层:以MaxComputer为代表的离线数据存储和计算平台    数据服务层:以RDS为代表的数据库服务(接⼝或者视图形式的数据服务)    数据应⽤层:包含流量分析平台等数据应⽤⼯具 ⼆、数据采集(离线数据同步) ⼆、数据采集(离线数据同步)   数据采集主要分为⽇志采集和数据库采集。⽇志采集暂略(参考书籍原⽂)。我们主要运⽤的是数据库采集(数据库同步)。   通常情况下,我们需要规定原业务系统表增加两个字段:创建时间、更新时间(或者⾄少⼀个字段:更新时间)   数据同步主要可以分为三⼤类:直连同步、数据⽂件同步、数据库⽇志解析同步   1.直连同步     通过规范好的接⼝和动态连接库的⽅式直接连接业务库,例如通过ODBC/JDBC进⾏直连     当然直接连接业务库的话会对业务库产⽣较⼤压⼒,如果有主备策略可以从备库进⾏抽取,此⽅式不适合直接从业务库到数仓的情景   2.数据⽂件同步     从源系统⽣成数据⽂本⽂件,利⽤FTP等传输⽅式传输⾄⽬标系统,完成数据的同步     为了防⽌丢包等情况,⼀般会附加⼀个校验⽂件 ,校验⽂件包含数据量、⽂件⼤⼩等信息     为了安全起见还可以加密压缩传输,到⽬标库再解压解密,提⾼安全性   3.数据库⽇志同步     主流数据库都⽀持⽇志⽂件进⾏数据恢复(⽇志信息丰富,格式稳定),例如Oracle的归档⽇志   (数据库相关⽇志介绍,参考:)    4.阿⾥数据仓库同步⽅式     1)批量数据同步     要实现各种各样数据源与数仓的数据同步,需要实现数据的统⼀,统⼀的⽅式是将所有数据类型都转化为中间状态,也就是字符串类型。以此来实现数据格式的统⼀。     产品——阿⾥DataX:多⽅向⾼⾃由度异构数据交换服务产品,产品解决的主要问题:实现跨平台的、跨数据库、不同系统之间的数据同步及交互。     产品简介:     开源地址:     更多的介绍将会通过新开随笔进⾏介绍!(当然还有其他主流的数据同步⼯具例如kettle等!)     2)实时数据同步     实时数据同步强调的是实时性,基本原理是通过数据库的⽇志(MySQL的bin-log,Oracle的归档⽇志等)实现数据的增量同步传输。     产品——阿⾥TimeTunnel(简称TT)。TT产品本质是⼀个⽣产者、消费者模型的消息中间件     3)常见问题       1.增量数据与全量数据的合并         主要的场景是数据同步中周期全量同步,对应的解决⽅案是每次只同步变更的数据,然后和上⼀周期合并,形成最新的全量数据(选择此⽅案的原因是绝⼤多 数⼤数据平台不⽀持update操作)         具体的⽅案主要有union的联合操作(可以通过⽣成增量中间表detal)与阿⾥主推的全外连接full outer join+全量覆盖insert overwrite的形式。实例参考如下: SQL的Join语法有很多, inner join(等值连接) 只返回两个表中联结字段相等的⾏, left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录, right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录, 假设我们有两张表。Table A 是左边的表。Table B 是右边的表。其各有四条记录,其中有两条记录name是相同的,如下所⽰: A表 id name 1 Pirate 2 Monkey 3 Ninja 4 Spaghetti B表 id name 1 Rutabaga 2 Pirate 3 Darth Vade 4 Ninja 让我们看看不同JOIN的不同。 FULL [OUTER] JOIN (1) SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name TableA.name = TableB.name 的情况,A和B的交集有两条数据,那么 FULL OUTER JOIN的结果集, 应该是2+2+2=6条,即上⾯的交集,再加剩下的四条数据,没有匹配,以null补全。 结果集 (TableA.) (TableB.) id name id name 1 Pirate 2 Pirate 2 Monkey null null 3 Ninja 4 Ninja 4 Spaghetti null null null null 1 Rutabag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值