美文网首页
元数据管理

元数据管理

作者: reco171 | 来源:发表于2022-03-15 18:41 被阅读0次
    1. 什么是元数据?
      元数据MetaData狭义的解释是用来描述数据的数据,广义的来看,除了业务逻辑直接读写处理的那些业务数据,所有其它用来维持整个系统运转所需的信息/数据都可以叫作元数据。比如数据表格的Schema信息,任务作业的血缘关系,用户和数据治理任务的权限映射关系信息等。
    2. 为什么进行元数据管理?
      对数据库表的元数据用元数据工具进行管理,就可以很清楚的知道表与表之前的血缘关系。一个表从哪几个表通过什么方式得来的,这些信息可以辅助我们问题追踪。方便数据资产管理,对于几千张表的,有了元数据工具能够快速查询管理。
      与其说数据仓库是软件开发项目,还不如说是系统集成项目,因为它的主要工作是把所需的数据仓库工具集成在一起,完成数据的抽取、转换和加载,OLAP分析和数据挖掘等。如下图所示,它的典型结构由操作环境层、数据仓库层和业务层等组成。
      image.png
    3. 元数据模型
      (1)元数据类型(types
      元数据类型说明如何存储并访问特定类型的元数据对象。类型表示一个特征或一个特性集合, 这些属性定义了元数据对象。具有开发背景的用户将识别类型的相似性, 以面向对象编程语言元数据的 “Class” 定义或关系的 “table schema”数据库。
      (2)元数据实例(Entity)
      实体是元数据类型的特定值或实例, 因此表示特定的元数据对象。面向对象的类比编程语言, “instance” 是某个 “Class” 的 “Object”。
      (3)属性(Attribute**)
      属性定义在复合 metatypes 中, 如Class和Struct。可以简单将属性称为具有名称和 metatype 值。然而Atlas 中的属性有更多的属性来定义与type system相关的更多概念。
    4. 元数据功能
      (1)元数据管理
      元数据管理包括元数据类型管理和元数据实体管理等,元数据类型有hive_table、hive_db等,元数据实体管理包括元数据创建、修改、删除、查看。可通过元数据版本号,实现元数据变更。
      (2)元数据搜索与发现
      提供的UI,能够按类型(type),分类(classification),属性值(attribute)或自由文本搜索实体。丰富的REST API,可按复杂条件进行搜索。提供SQL搜索实体的查询语言 - 域特定语言(DSL)。
      (3)元数据分析
      元数据分析包括元数据的追踪关系、数据血缘、元数据的统计等。通过元数据分析,能够对数据资产信息,包括有几个库、多少张表,以及表之间的关系。
      (4)其他元数据功能
      元数据标签、元数据安全等元数据管理功能。
      5.开源元数据管理
      (1)Altas
      Atlas的主要目标是数据治理,支持与HBase,Hive和Kafka的集成。通过API示例了解Atlas元数据类型、元数据实体等。
      1)Altas元数据类型(types
      通过API http://atlasserverhost:port/api/atlas/types获取所有的****types****。Altas元数据类型有:hive_db 、hive_table 、hive_column等,具体如下返回结果
      {
      "results": [
      "Asset",
      "hive_column",
      "Process",
      "storm_node",
      "storm_bolt",
      "falcon_process",
      "falcon_feed_replication",
      "hive_serde",
      "kafka_topic",
      "hive_table",
      "hive_storagedesc",
      "sqoop_dbdatastore",
      "hive_principal_type",
      "fs_permissions",
      "jms_topic",
      "hive_process",
      "falcon_cluster",
      "storm_spout",
      "Referenceable","falcon_feed_creation",
      "falcon_feed",
      "hdfs_path",
      "sqoop_process",
      "Infrastructure",
      "storm_topology",
      "hive_order",
      "DataSet",
      "fs_path",
      "hive_db",
      "file_action"
      ],
      "count": 34,
      "requestId": "qtp180396531315
      b17554dcf93d4d7fa6ede124388a5759"
      }
      2)Altas元数据实例
      一个元数据实例的定义
      id: "9ba387ddfa76429cb791ffc338d3c91f"
      typeName: “hive_table”
      values:
      name: “customers”
      db: "b42c6cfcc1e742fda9e6890e0adf33bc"
      owner: “admin”
      createTime: "20160620T06:
      13:28.000Z"
      lastAccessTime: "20160620T06:
      13:28.000Z"
      comment: null
      retention: 0
      sd: "ff58025f685441959f753a3058dd8dcf"
      partitionKeys: null
      aliases: null
      columns: ["65e2204f6a234130934a9679af6a211f",
      "d726de70faca46fb9c99cf04f6b579a6",
      ...]
      parameters: {"transient_lastDdlTime": "1466403208"}
      viewOriginalText: null
      viewExpandedText: null
      tableType: “MANAGED_TABLE”
      temporary: false
      3)Altas属性(Attribute**)
      属性定义在复合 metatypes 中, 如Class和Struct。可以简单将属性称为具有名称和 metatype 值。然而Atlas 中的属性有更多的属性来定义与type system相关的更多概念。
      (2)Marquez
      Wework于2018年10月开源了Marquez, Marquez更加轻量级,对Airflow有着很好的支持。
      Marquez数据模型。Marquez的数据模型强调数据集的不变性和及时处理性。数据集由作业运行生成,价值重要。作业运行与版本代码链接,并生成一个或多个不可变的版本输出。数据集的更改通过轻量级API的调用被记录在作业执行的不同点,包括运行本身的成功或失败。
      1)作业:作业包含所有者、唯一名称、版本和可选描述。作业会将一个或多个版本输入定义为依赖,并将一个或多个版本输出定义为artifacts。需注意的是,作业可能只定义了输入数据集,也可能仅定义了输出数据集。
      2)作业版本:作业的只读不可变版本,有唯一可引用的链接,以编码存储保证源码的重现。作业版本将一个或多个输入和输出数据集关联到作业定义(数据在各种作业中的流转,对记录血缘信息很重要)。这些关联对源链接进行分类,并提供强大的可视化数据流。
      3)数据集:数据集有所有者、唯一名称、schema、版本和可选描述。数据集包含于数据源。数据源可将物理数据集分组到它们的物理源。每个数据集都有一个指向历史更改集的版本指针,由Marquez来维护。当将数据集更改提交回Marquez时,将生成一个唯一的版本ID,进行存储,然后将其设置为当前版本,并在内部更新指针。
      4)数据集版本:数据集的只读不可变版本。每个版本都可以独立读取,有一个唯一ID,映射到数据集的更改,以保留其在特定时间点的状态。只有当数据集的更改被记录,才会更新最新版本ID。为了计算不同的版本ID,Marquez将版本控制功能应用于与底层数据源的数据集相对应的一组属性。
      参考
      [1]收藏】关于元数据(Metadata)和元数据管理,这是我的见过最全的解读!
      [2]使用Atlas进行元数据管理之Atlas简介
      [3]Apache atlas 的入门教程
      [4]数据治理---Apache Atlas元数据管理
      [5]Marquez,开源的元数据管理工具
      [6]Marquez Data Model

    相关文章

      网友评论

          本文标题:元数据管理

          本文链接:https://www.haomeiwen.com/subject/dienlrtx.html