Apache Atlas使用测评

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Atlas使用测评相关的知识,希望对你有一定的参考价值。

参考技术A

元数据的管理是一个受到越来越多关注的领域,Apache Atlas是元数据领域中最早也是最具名气的一个解决方案。最早由Hortonworks的团队开发,并开源成为一个顶级的项目。

Apache Atlas的整体架构如下

可以看到元数据管理系统,其实结构较为简单,类似一个数据字典的管理系统。这其中比较重要的是,怎么 定义 数据结构能够满足现在异构的数据仓库场景,其次便是现有的系统如何与元数据管理系统有比较好的集成。

Atalas 使用Hbase 作为底层存储,JanusGraph作为数据血缘的图存储,同时使用Solr支持搜索的服务。通过与Kafka的对接实现推的更新模式。他同时开发API来支持主动拉取的模式。

我试验过多种安装的方式,官方给出的通过github来进行安装的会碰到诸多的问题。通过编译也需要做一些改变比如

经过一阵挣扎,还是选择使用了Dockerhub上的项目 https://github.com/sburn/docker-apache-atlas 。

Atlas|开始认识Apache Atlas

This browser does not support music or audio playback. Please play it in Weixin or another browser.
1、概述
Atlas是一套可扩展的核心基础治理服务,使企业能够有 效地满足Hadoop中的合规性要求,并允许与整个企业数据生态系统集成。
Apache Atlas为组织提供开放的元数据管理和治理 功能,以建立其数据资产的目录,对这些资产进行分类和管理,并为数据科学家 ,分析师和数据治理团队提供围绕这些数据资产的协作功能。

2、功能

2.1 元数据类型和实例

  • 各种Hadoop和非Hadoop元数据的预定义类型

  • 能够为要管理的元数据定义新类型

  • 类型可以具有原始属性、复杂属性、对象引用; 可以从其他类型继承

  • 类型的实例 (称为实体) ,捕获元数据对象详细信息及其关系

  • 与类型和实例一起使用的REST API允许更容易的集成

2.2 分类
  • 能够动态创建分类,如PII、EXPIRES_ON、DATA_QUALITY、SENSITIVE

  • 分类可以包括属性——如EXPIRES_ON分类中的过期日期属性

  • 实体可以与多个分类相关联,从而更容易发现和执行安全

  • 通过血缘传播分类-自动确保分类在经过各种处理时遵循数据

2.3 血缘
  • 直观的用户界面,用于查看数据在各种过程中的血缘

  • 用于访问和更新血缘的REST API

2.4 搜索/发现
  • 直观的用户界面,按类型、分类、属性值或自由文本搜索实体

  • 通过复杂标准搜索的丰富REST API

  • 搜索实体的类似SQL的查询语言——特定领域的语言 (DSL)

2.5 安全性和数据脱敏
  • 元数据访问的精细安全性,启用对实体实例和添加/更新/删除分类等操作的访问控制

  • 与Apache Ranger集成可基于与Apache Atlas中的实体相关联的分类,对数据访问进行授权/数据脱敏。例如:

    • 谁可以访问分类为PII、敏感的数据

    • 客户服务用户只能看到分类为NATIONAL_ID的列的后4位数字

3、组成架构

下面为Atlas的组成架构图:
可分为 下主要类 别:
3.1 Core
Type System
Atlas允许用户为他们想要管理的元数据对象定义模型。该模型由被称为 “类型” 的定义组成,称为 “实体” 的 “类型” 实例表示所管理的实际元数据对象。Type System是允许用户定义和管理类型和实体的组件。由Atlas开箱即用管理的所有元数据对象 (例如,像Hive表) 都使用类型建模并表示为实体。要在Atlas中存储新类型的元数据,需要了解类型系统组件的概念。
需要注意的一个关键点是,Atlas中建模的一般性质允许数据管理员和集成商定义技术元数据和业务元数据。也可以使用Atlas的特征来定义两者之间的丰富关系。
Graph Engine
在内部,Atlas保留它使用图形模型管理的元数据对象,这种方法提供了极大的灵活性,并能够有效处理元数据对象之间的丰富关系。Graph engine组件负责在Atlas类型系统的类型和实体之间进行转换,以及底层的graph持久性模型。
除了管理图形对象之外,Graph engine还为元数据对象创建适当的索引,以便可以有效地搜索它们。Atlas使用JanusGraph存储元数据对象。
Ingest / Export
Ingest组件允许将元数据添加到Atlas,同样,Export组件将Atlas检测到的元数据更改公开为事件,消费者可以使用这些更改事件来实时响应元数据的更改。
3.2 Integration
API
Atlas的所有功能都通过REST API向最终用户公开,该API允许创建、更新和删除类型和实体。它也是查询和发现Atlas管理的类型和实体的主要机制。
Messaging
除了API之外,用户还可以选择使用基于Kafka的消息传递界面与Atlas集成,这对于将元数据对象传达给Atlas以及使用可以构建应用程序的Atlas中的元数据更改事件都很有用。如果希望使用与Atlas更松散耦合的集成,从而实现更好的可扩展性、可靠性等,则消息传递界面特别有用。
Atlas使用Apache Kafka作为通知服务器,用于元数据通知事件的钩子(hooks)和下游消费者之间的通信。事件由hooks和Atlas写入到不同的Kafka主题。
3.3 Metadata sources
Atlas支持与许多现成的元数据源集成,将来还会增加更多的集成。目前,Atlas支持从以下来源摄取和管理元数据:
  • Hbase

  • Hive

  • Sqoop

  • Storm

  • Kafka

集成意味着两件事: Atlas本地定义元数据模型来表示这些组件的对象。有Atlas提供的组件可以从这些组件中提取元数据对象 (在某些情况下是实时或批处理模式)。
3.4 Apps
Atlas管理的元数据被各种应用程序使用,以满足许多治理用例。
Atlas Admin UI
此组件是一个基于web的应用程序,允许数据管理员和科学家发现和注释元数据。这里最重要的是一个搜索界面和类似SQL的查询语言,可用于查询Atlas管理的元数据类型和对象。Admin UI使用Atlas的REST API来构建其功能。
Tag Based Policies
Apache Ranger是针对Hadoop生态系统的高级安全管理解决方案,具有与各种Hadoop组件的广泛集成。通过与Atlas集成,Ranger允许安全管理员定义元数据驱动的安全策略,以实现有效的治理。Ranger是Atlas通知的元数据更改事件的消费者。

- THE END -


以上是关于Apache Atlas使用测评的主要内容,如果未能解决你的问题,请参考以下文章

apache atlas配置和运行

Apache Atlas 的初始密码及账户管理

Apache Atlas 快速入门 - kafka 错误

Atlas|开始认识Apache Atlas

apache atlas - hook hive - 如何构建 apache-atlas-$project.version-hive-hook.gz?

Apache atlas 初体验