如何高效采集与存储数据资产管理中的元数据?

摘要:《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,全书共分10章,第1章主要让读者认识数据资产,了解数据资产相关的基础概念,以及数据资产的发展情况。第2~8章主要介绍大数据时代数据资产管理所涉及的核心技术,内容包括元数据的采集与
《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,全书共分10章,第1章主要让读者认识数据资产,了解数据资产相关的基础概念,以及数据资产的发展情况。第2~8章主要介绍大数据时代数据资产管理所涉及的核心技术,内容包括元数据的采集与存储、数据血缘、数据质量、数据监控与告警、数据服务、数据权限与安全、数据资产管理架构等。第9~10章主要从实战的角度介绍数据资产管理技术的应用实践,包括如何对元数据进行管理以发挥出数据资产的更大潜力,以及如何对数据进行建模以挖掘出数据中更大的价值。 图书介绍:数据资产管理核心技术与应用 今天主要是给大家分享一下第二章的内容: 第二章的标题为元数据的采集与存储->关注清哥聊技术公众号,了解更多技术文章 主要是介绍了如何从Apache Hive、Delta lake、Apache Hudi、Apache Iceberg、Mysql 等常见的数据仓库、数据胡以及关系型数据库中采集获取元数据。、 1、Hive的元数据采集方式: 1.1、基于Hive Meta DB的元数据采集 由于Hive在部署时,是将数据单独存储在指定的数据库中的,所以从技术实现上来说肯定是可以直接通过从Hive元数据存储的的数据库中获取到需要的元数据信息。Hive通常是将元数据存储在单独的数据库中,可以在部署时由用户自己来指定存储在哪种数据库上,通常可以支持存储在MySQL、SQLServer、Derby 、Postgres、Oracle等数据库中。Hive元数据数据库中常见的关键表之间的关联关系如下图,根据下图的关联关系,我们就可以用SQL语句查询到需要的元数据的数据信息。 相关表的介绍如下: DBS:存储着Hive中数据库的相关基础信息 DATABASE_PARAMS:存储着Hive中数据库参数的相关信息 TBLS:存储着Hive中数据库的数据表的相关基础信息 COLUMNS_V2:存储着数据表的字段信息 TABLE_PARAMS:存储着Hive中数据库的数据表参数或者属性的相关基础信息 TBL_PRIVS:存储着表或者视图的授权信息 SERDES:存储着数据序列化的相关配置信息 SERDE_PARAMS:存储着数据序列化的属性或者参数信息 SDS:存储着数据表的数据文件存储的相关信息 SD_PARAMS:存储着数据表的存储相关属性或者参数信息 PARTITIONS:存储着数据表的分区相关信息 PARTITION_KEYS:存储着数据表的分区字段信息 PARTITION_PARAMS:存储分区的属性或者参数信息 1.2、基于Hive Catalog的元数据采集 Hive Catalog 是Hive提供的一个重要的组件,专门用于元数据的管理,管理着所有Hive库表的结构、存储位置、分区等相关信息,同时Hive Catalog提供了RESTful API或者Client 包供用户来查询或者修改元数据信息,其底层核心的Jar包为hive-standalone-metastore.jar。在该Jar包中的org.apache.hadoop.hive.metastore.IMetaStoreClient.java 接口中定义了对Hive元数据的管理的抽象,详细代码实现可以参考纸质书。 在Hive2.2.0版本之前Hive还提供了以Hcatalog REST API的形式对外可以访问Hive Catalog(Hive2.2.0版本后,已经移除了Hcatalog REST API这个功能),REST API 访问地址的格式为:http://yourserver/templeton/v1/resource,在Hive的Wiki网站:WebHCat Reference - Apache Hive - Apache Software Foundation中有详细列出REST API 支持哪些接口访问,如下图 比如通过调用REST API 接口:http://yourserver/templeton/v1/ddl/database 便可以获取到Catalog中所有的数据库的信息,如下图 1.2、基于Spark Catalog的元数据采集 Spark 是一个基于分布式的大数据计算框架。Spark 和Hadoop的最大的不同是,Spark的数据主要是基于内存计算,所以Spark的计算性能远远高于Hadoop,深受大数据开发者的喜欢,Spark提供了 Java、Scala、Python 和 R 等多种开发语言的 API。
阅读全文