zoukankan      html  css  js  c++  java
  • 大数据:元数据(Metadata)

    一、元数据概述

     1、元数据定义

    • 元数据:按传统的定义,元数据就是关于数据的数据;
    • 元数据的用途:
      • 打通源数据、数据仓库、数据应用,记录数据从产生到消亡的全过程;
        • 主要记录:数据仓库中模型的定义各层级间的映射关系、监控数据仓库中的数据状态、监控 ETL 的任务的运行状态;
        • 在数据仓库系统中,元数据可以帮助数据仓库管理员和开发人员,非常方便的  到他们所关系的数据,用于指导其进行数据管理和开发,提供工作效率;
    • 将元数据按用途的不同分为两类:
      1. 技术元数据(Technical Metadata);
      2. 业务元数据(Business Metadata);

     1/1)技术元数据

    • 作用 / 用途:存储关于数据仓库系统技术细节的数据,用于开发和管理数据仓库
    • 例:阿里常见的技术元数据:
    1. 分布式计算系统的存储元数据
      • 如,MaxCompute 表、列、分区等:
        1. 记录了表的表名、分区信息、负责人信息、文件大小、表类型,生命周期;
        2. 列的字段名、字段类型、字段备注、是否是分区字段等;
    2. 分布式计算系统的运行元数据
      • 如,MaxCompute 上所有作业运行等信息;
        • 类似于 Hive 的 Job 日志,包括作业类型、实例名称、输入输出、SQL、运行参数、执行时间、最细粒度的 Fuxi Instance(MaxCompute 中 MR执行的最小单元)执行信息等;
    3. 数据开发平台中,数据同步、计算任务、任务调度等信息
      • 数据同步信息:数据同步的输入输出表和字段、同步任务本身的节点信息;
      • 任务调度信息:任务的依赖类型、依赖关系等,以及不同类型调度任务的运行日志等;
      • 计算任务信息:输入输出、任务本身的节点信息;
    4. 与数据质量和运维相关的元数据
      • 如任务监控、运维报警、数据质量、故障等信息,包括任务监控运行日志、告警配置及运行日志、故障信息等;

     1/2)业务元数据

    • 作业 / 用途:从业务角度描述了数据仓库中的数据,提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够 “读懂” 数据仓库中的数据;
    • 阿里常见的业务元数据:
      1. OneData 元数据
        • 如,维度及属性、业务过程、指标等的规范化定义,用于更好的管理和使用数据;
      2. 数据应用元数据
        • 如,数据报表、数据产品等的配置和运行元数据;

    2、元数据的价值

    • 元数据最重要的应用价值,是数据管理、数据内容、数据应用的基础;
    1. 数据管理方面
      • 为集团数据提供在计算、存储、成本、质量、安全、模型等治理领域上的数据支持;
        • 如,在计算上可以利用元数据查找超长运行节点,对这些节点进行专项治理,保障基线产出时间;
    2. 数据内容方面
      • 为集团数据进行数据域、数据主题、业务属性等的提取和分析,提供数据材料;
        • 如,可以利用元数据构建知识图谱,给数据打标签,清楚的知道现在有哪些数据;
    3. 数据应用方面
      • 打通了产品及应用链路,保障产品数据准确、及时产出;
        • 如,打通 MaxCompute 和应用数据,明确数据资产等级,更有效的保障产品数据;

    3、统一元数据体系建设

    • 元数据建设的目标
      • 打通数据接入到加工,再到数据消费的整个链路,规范元数据体系与模型,提供统一的元数据服务出口,保障元数据产出的稳定性和质量;
    • 元数据体系建设的思路:(以阿里元数据体系  OneMata  为例)

    1. 首先梳理清楚元数据底层数据

      1. 对元数据做分类,较少数据重复建设,保障数据的唯一性;
        • 分类:计算元数据、存储元数据、质量元数据、模型元数据、成本管理元数据等;
      2. 丰富表和字段使用说明,方便使用和理解;
    2. 根据元仓底层数据构建元仓中间层

      1. 依据 OneData 规范,建设元数据基础宽表,也就是元数据中间层,打通从数据产生到消费的整个链路,不断丰富中间层数据;
        • 如,MaxCompute 元数据、调度元数据、同步元数据、产品访问元数据、服务器元数据、应用注册元数据等;
      2. 基于元数据中间层,对外提供标准统一的元数据服务出口,保障元数据产出的质量;
    3. 应用

      1. 丰富的元数据中间层,能够为集团数据提供在计算、存储、成本、质量、安全、模型等治理领域上的数据支持,形成一套完整的 ROI 数据体系;
      2. 丰富的元数据中间层,还能为为集团数据进行数据内容、数据域、数据主题、业务属性等的提取和分析提供了数据素材;

    二、元数据应用

    • 数据的真正价值在于,数据驱动决策,通过数据指导运营;
      • 数据化运营:通过数据驱动的方法,判断趋势,从而展开有效行动,帮助发现问题,推动创新或解决方案的产生;
    • 元数据应用示例:

      1. 对于数据使用者,可以通过元数据指导其快速找到所需要的数据;
      2. 对于 ETL 工程师,可以通过元数据指导其进行模型设计、任务优化、任务下线等各种日常 ETL 工作;
      3. 对于运维工程师,可以通过元数据指导其进行整个集群的存储、计算、系统优化等运维工作;

    1、Data Profile

    • 核心思路为纷繁复杂的数据,建立一个脉络清晰的血缘图谱
    • 主要功能:通过图计算、标签传播算法等技术,系统化、自动化的对计算与存储平台上的数据,进行打标、整理、归档
      • 形象的说,Data Profile 实际承担的是为元数据 “画像” 的任务;
    • Data Profile 共有四类标签:

      • 思路:数据之间的个性化,除了应用场景的不同之外,实际上在数据研发流程、保障登记、数据质量要求、安全等级、运维策略、警告设置上都会有差异;
      • 作用:节约研发人员的时间成本,同时对阿里内部的非研发人员来说,也可以更直观的理解数据、利用数据,从而提升数据的研发效率;
      • 根据这种差异化,Data Profile 开发了四类标签:
        1. 基础标签:针对数据的存储情况、访问情况、安全等级等进行打标;
        2. 数仓标签:针对数据是增量还是全量、是否可再生、数据的生命周期来进行标签化处理;
        3. 业务标签:根据数据归属的主题域、产品线、业务类型,为数据打上不同的标签;
        4. 潜在标签:主要为了说明数据潜在的应用场景,如,社交、媒体、广告、电商、金融等;

    2、元数据门户

    • 主要功能:数据搜索和数据管理;
    • 功能模块:“前台”、“后台”;
    1. “前台” 产品数据地图

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

      • 功能:定位于一站式数据管理,实现成本管理、安全管理、质量管理等;
      • 数据管理平台:
        • 服务对象及内容:个人开发者、BU 管理者、系统管理员等用户,提供个人和 BU 全局资产管理、成本管理、质量管理等;
          1. 针对个人开发者,主要包括计算费用和健康分管理、存储费用和健康分管理,并提供优化建议和优化接口;
          2. 针对 BU 管理者和管理员,主要提供 BU、应用、集群等全局资产消耗概览、分析和预测;

    3、应用链路分析

    • 思路 / 功能
      • 配置数据间的 “血缘关系”,用户可以通过元数据血缘,分析产品及应用的链路;通过血缘链路可以清楚的统计到某个产品所用到的数据在计算、存储、质量上存在哪些问题;通过治理优化保障产品数据的稳定性;
    • 实例:业务需求
      • 对于某个数据计算任务或表,其重要程度如何?是否还有下游在使用?是否可以下线?
      • 阿里的很多数据产品,都依赖哪些 MaxCompute 表?对这些 MaxCompute 表是否需要根据应用的重要程度进行资源、运维保障?
    • 解决思路:
      • 通过元数据血缘来分析产品及应用的链路,通过血缘链路可以清楚的统计到某个产品所用到的数据在计算、存储、质量上存在哪些问题,通过治理优化保障产品数据的稳定性;
    • 通过应用链路分析,产出 3 中血缘类型:表级血缘、字段血缘、表的应用血缘
    • 表级血缘主要有 2 中计算方式:

      1. 通过 MaxCompute 任务日志进行解析;
      2. 根据任务依赖进行解析;
    • 表的应用血缘解析:

      • 难点最大;
      • 按照应用和物理表的配置关系,可以分为配置型和无配置型:
        1. 配置型:

          • 如,对于数据报表、集市等应用,其数据源直接或间接使用 MaxCompute 数据,且有元数据配置依赖关系,通过配置元数据,可以获取 MaxCompute 物理表、具体的报表、集市等应用的血缘关系;
          • 问题案例:对于生意参谋等数据产品,其数据源通过数据同步方式同步到 MySQL、HBase 等数据库,间接使用 MaxCompute 数据,且无配置产品和 MySQL、HBase 等物流数据源的依赖关系,导致无法通过配置源数据解析 MaxCompute 数据和数据产品的关系;
          • 解决方案:主要通过统一的应用日志打点 SDK 来解决此类问题,可以做到配置化、应用无痕化;
        2. 无配置型:

          • 常见的应用链路分析应用:主要有影响分析、重要性分析、下线分析、链路分析、寻根溯源、故障排查等;

    4、数据建模

    • 思路 / 业务场景:基于现有底层数据已经有下游使用的情况,可以通过下游使用的元数据指导数据参考模型;
      • 通过元数据驱动的数据仓库模型建设,提高了数据仓库建模的数据化指导,提升建模效率;
      • 下游使用情况:指查询、关联、聚合、过滤等操作;
        • 记录下游使用情况的数据,就是辅助建设模型的元数据;
      • 操作:设置阈值,记录下游对数据的使用情况,使用次数超过阈值的情况,将被用来参考建模;
    • 数据仓库建模所使用的元数据:

      • 其中,查询值 SQL 的 SELECT,关联指 SQL 的 JOIN,聚合指 SQL 的 GROUP BY,过滤指 SQL 的 WHERE

      1. 表的基础元数据
        • 包括下游情况、查询次数、关联次数、聚合次数、产出时间等;
      2. 表的关联关系元数据
        • 包括关联表、关联类型、关联字段、关联次数等;
      3. 表的字段的基础元数据
        • 包括字段名称、字段注释、查询次数、关联次数、聚合次数、过滤次数等;
    • 在星形模型设计过程中,可能类似于如下使用元数据:

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

    5、驱动 ETL 开发

    • 思路:通过元数据,指导 ETL 工作,提高 ETL 的效率;
    • 实例场景:

      1. 通过 Data Profile 得到数据的下游任务依赖情况、最近被读写次数、数据是否可再生、每天消耗的存储计算等,通过这些信息判断数据是否可以下线;
      2. 如果根据一些规则判断数据可以下线,则会通过 OneClick 触发一个数据下线的工作任务流,数据 Owner 可能只需要点击提交按钮,删除数据、删除元数据、下线调度任务、下线 DQC 监控等一些列的操作就会自动在后台执行完成;
  • 相关阅读:
    Get-CrmSetting返回Unable to connect to the remote server的解决办法
    Dynamics 365中的常用Associate和Disassociate消息汇总
    Dynamics 365 Customer Engagement V9 活动源功能报错的解决方法
    Dynamics Customer Engagement V9版本配置面向Internet的部署时候下一步按钮不可点击的解决办法
    Dynamics 365检查工作流、SDK插件步骤是否选中运行成功后自动删除系统作业记录
    注意,更改团队所属业务部门用Update消息无效!
    Dynamics 365的审核日志分区删除超时报错怎么办?
    Dynamics 365使用Execute Multiple Request删除系统作业实体记录
    Dynamics 365的系统作业实体记录增长太快怎么回事?
    Dynamics CRM日期字段查询使用时分秒的方法
  • 原文地址:https://www.cnblogs.com/volcao/p/13636557.html
Copyright © 2011-2022 走看看