当前位置:网站首页>数据治理(五):元数据管理
数据治理(五):元数据管理
2022-08-10 01:50:00 【InfoQ】
元数据管理
一、大数据中为什么要元数据管理
元数据(Metadata),通常的定义为"描述数据的数据"。元数据打通了源数据、数据仓库、数据应用,记录了数据从产生到消费的全过程。元数据管理是数据治理的核心。
数据的真正价值在于数据驱动决策,通过数据指导运营。通过数据驱动的方法判断趋势,帮住我们发现问题,继而推动创新或产生新的解决方案。随着企业数据爆发式增长,数据体量越来越难以估量,我们很难说清楚我们到底拥有哪些数据,这些数据从哪里来,到哪里去,发生了什么变化,应该如何使用它们。因此数据治理中的元数据管理成为企业级不可或缺的重要组成部分。元数据治理可以提供数据源管理、分析数据血缘关系、分析数据影响等,实现对复杂的数据环境监控管理,为企业提供安全可信的数据,为数据仓库的运行与维护提供有效支撑。
简单来说,数据是公司中非常有价值的资产,这些数据包含各种数据源,各种业务,各种处理层次,对于这些资产需要有序、高效、统一的管理,这就需要一个元数据管理系统,元数据管理是数据治理中非常重要的一个核心,元数据的一致性、可追溯性是实现数据治理非常重要的一个环节。
二、元数据管理工具-Atlas
在大数据时代,目前最成熟的与Hadoop体系兼容比较好的元数据治理平台就是Apache Atlas。为寻求数据治理的开源解决方案,2015年,Hortonworks公司联合其他厂商与用户于发起数据治理倡议,然后,包含数据分类(资产目录及数据字典)、集中策略引擎、数据血缘、安全和生命周期管理功能的Atlas应运而生。
Apache Atlas是一个可伸缩和可扩展的核心基础治理服务集合,使企业能够有效地和高效地满足 Hadoop 中的合规性要求,并允许与整个企业数据生态系统的集成。为组织提供开放式元数据管理和治理功能,用以构建其数据资产目录,对这些资产进行分类和管理,并为数据科学家,数据分析师和数据治理团队提供围绕这些数据资产的协作功能。
Atlas官网地址:
Apache Atlas – Data Governance and Metadata framework for Hadoop
三、Atlas架构原理
关于Atlas的架构原理,我们只需要了解由哪些部分组成即可,Atlas的架构核心组件如下:

- Metadata Sources:
- Atlas支持与许多元数据源的集成,将来还会添加更多集成。目前,Atlas 支持从Hive、Sqoop、Storm、HBase获取和管理元数据。
- Integration:
- 用户可以使用两种方法管理 Atlas 中的元数据:
- API:Atlas 的所有功能都可以通过 REST API 提供给最终用户,允许创建,更新和删除类型和实体。它也是查询和发现通过 Atlas 管理的类型和实体的主要方法。
- Messaging:除了 API 之外,用户还可以选择使用基于 Kafka 的消息接口与 Atlas 集成。这对于将元数据对象传输到 Atlas 以及从 Atlas 使用可以构建应用程序的元数据更改事件都非常有用。如果希望使用与 Atlas 更松散耦合的集成,这可以允许更好的可扩展性,可靠性等,消息传递接口是特别有用的。
- Apps:
- Ranger Tag Based Policies: Apache Ranger 是针对 Hadoop 生态系统的高级安全管理解决方案,与各种 Hadoop 组件具有广泛的集成。通过与 Atlas 集成,Ranger 允许安全管理员定义元数据驱动的安全策略,以实现有效的治理。
- Atlas Admin UI: 该组件是一个基于 Web 的应用程序,允许我们发现和注释元数据。Admin UI提供了搜索界面和 类SQL的查询语言,可以用来查询由 Atlas 管理的元数据类型和对象。Admin UI 使用 Atlas 的 REST API 来构建其功能。
- Business Taxonomy:从元数据源获取到 Atlas 的元数据对象主要是一种技术形式的元数据。为了增强可发现性和治理能力,Atlas 提供了一个业务分类界面,允许用户首先定义一组代表其业务域的业务术语,并将其与 Atlas 管理的元数据实体相关联。业务分类法是一种 Web 应用程序,目前是 Atlas Admin UI 的一部分,并且使用 REST API 与 Atlas 集成。
- Core:
- Atlas Core包含以下几个部分:
- Ingest/Export:Ingest 组件允许将元数据添加到 Atlas。类似地,Export 组件暴露由Atlas检测到的元数据更改,以作为事件引发,消费者可以使用这些更改事件来实时响应元数据更改。
- Type System: Atlas 允许用户为他们想要管理的元数据对象定义一个模型。该模型由称为 "Type" 的定义组成。"类型" 的 实例被称为 "实体" 表示被管理的实际元数据对象。类型系统是一个组件,允许用户定义和管理类型和实体。由 Atlas 管理的所有元数据对象(例如Hive表)都使用类型进行建模,并表示为实体。
- Graph Engine:在内部,Atlas通过使用图模型管理元数据对象。以实现元数据对象之间的巨大灵活性和丰富的关系。图引擎是负责在类型系统的类型和实体之间进行转换的组件,以及基础图形模型。除了管理图对象之外,图引擎还为元数据对象创建适当的索引,以便有效地搜索它们。
- JanusGraph:目前,Atlas 使用 JanusGraph图数据库来存储元数据对象。 JanusGraph使用两个存储:默认情况下元数据存储配置为 HBase ,索引存储配置为 Solr
四、Atlas特性
1、元数据类型 & 实例
- 各种Hadoop和非Hadoop元数据的预定义类型。
- 能够为要管理的元数据定义新类型。
- 类型可以具有原始属性,复杂属性,对象引用;可以继承其他类型。
- 类型(type)实例(称为实体entities)捕获元数据对象详细信息及其关系。
- 可以更轻松地进行集成用于处理类型和实例的REST API。
2、分类
- 能够动态创建分类 - 如PII,EXPIRES_ON,DATA_QUALITY,SENSITIVE。
- 分类可以包含属性 - 例如EXPIRES_ON分类中的expiry_date属性。
- 实体(entities)可以与多个分类(classifications)相关联,从而实现更轻松的发现和安全实施。
- 通过血缘传播分类 - 自动确保分类在进行各种处理时遵循数据。
3、血缘
- 直观的UI,用于在数据流转时,通过各种流程时查看数据。
- 用于访问和更新血缘的REST API。
4、搜索/发现
- 直观的UI,按类型(type),分类(classification),属性值(attribute)或自由文本搜索实体。
- 丰富的REST API,可按复杂条件进行搜索。
- SQL搜索实体的查询语言 - 域特定语言(DSL)。
5、安全和数据屏蔽
- 用于元数据访问的细粒度安全性,实现对实体实例的访问控制以及添加/更新/删除分类等操作。
- 与Apache Ranger集成可根据与Apache Atlas中的实体相关的分类对数据访问进行授权/数据屏蔽。例如:
- 谁可以访问分类为PII,SENSITIVE的数据。
- 客户服务用户只能看到分类为NATIONAL_ID的列的最后4位数字。
边栏推荐
- 《GB39732-2020》PDF下载
- Nacos源码分析专题(五)-Nacos小结
- [Syntax sugar] About the mapping of category strings to category numeric ids
- Linux(Centos7)服务器中配置Mysql主从数据库,以及数据库的安装,防火墙操作
- 高并发+海量数据下如何实现系统解耦?【下】
- Summary of Web Performance Testing Models
- Chip Information|Semiconductor revenue growth expected to slow to 7%, Bluetooth chip demand still growing steadily
- 控制台中查看莫格命令的详细信息
- gbase 8a数据库如何查看数据或数据文件是否正常?
- grafana9配置邮箱告警
猜你喜欢
随机推荐
【机器学习】随机森林、AdaBoost、GBDT、XGBoost从零开始理解
.Net interview experience summary
type-C 边充电边听歌(OTG) PD芯片方案,LDR6028 PD充电加OTG方案
one of the variables needed for gradient computation has been modified by an inplace
color socks problem
Sikuli 基于图形识别的自动化测试技术
In the 2022 gold, nine, silver and ten work tide, how can I successfully change jobs and get a high salary?
[Syntax sugar] About the mapping of category strings to category numeric ids
进程管理和任务管理
FILE结构体在stdio.h头文件源码里的详细代码
元素的盒子模型+标签的尺寸大小和偏移量+获取页面滚动距离
【wpf】拖拽的简单实现
C# 单例模式
首次在我们的centos登录我们的Mysql
gbase 8a数据库如何查看数据或数据文件是否正常?
Fusion Compute网络虚拟化
实操|风控模型中常用的这三种预测方法与多分类场景的实现
力扣每日一题-第51天-744. 寻找比目标字母大的最小字母
UXDB现在支持函数索引吗?
【Swoole系列3.5】进程池与进程管理器

![[Turn] Typora_Markdown_ picture title (caption)](/img/67/589eed8de86bff9fc017ae7c409410.png)






![[网鼎杯 2020 青龙组]AreUSerialz](/img/33/a237185ffe0c5780432c242c36cbdc.png)
